运维工具Zabbix学习 1.入门及安装
- 1. 安装LAMP环境
- 2. 数据库配置
- 3. 安装zabbix
- 4. 端口设置(可选)
- 5. 配置文件
- 6. 配置php.ini
- 7. 配置 web
- 8. 关闭SELinux
- 9. 设置防火墙
- 10. 安装 web 端
- 11. 添加开机启动脚本
一、简介
zabbix是一个基于web界面的、提供分布式系统监视及网络监视功能的企业级开源解决方案
zabbix 由2部分组成:
- zabbix server
- zabbix agent
zabbix server可以通过SNMP、zabbix agent、ping、端口监视等方法提供对远程服务器/网络状态的监视,数据收集等功能,它可以运行在多个操作系统上。
Zabbix的web后端程序使用PHP编写,配置需要安装 PHP 运行环境。
本文准备试验环境 :
- centos 7
- zabbix3
二、服务端安装(编译安装方式)(自身也安装客户端)
1. 安装LAMP环境
yum install php php-gd php-mysql php-bcmath php-mbstring php-xml curl curl-devel net-snmp net-snmp-devel perl-DBI -y
yum install httpd mariadb*
yum install -y php-mysql.x86_64
zabbix需要php-mysql.x86_64,否则会出现php databases support off
2. 数据库配置
systemctl start mariadb.service
mysql -u root -p
> create database zabbix character set utf8;
> insert into mysql.user(Host,User,Password)values('localhost','zabbix',password('zabbix'));
> flush privileges;
> grant all on zabbix.* to 'zabbix'@'127.0.0.1' identified by 'zabbix' with grant option;
> flush privileges;
> quit;
3. 安装zabbix
wget http://nchc.dl.sourceforge.net/project/zabbix/ZABBIX%20Latest%20Stable/2.4.5/zabbix-2.4.5.tar.gz
tar -zxvf zabbix-2.4.5.tar.gz
cd zabbix-2.4.5
./configure --with-mysql=/usr/bin/mysql_config --with-net-snmp --with-libcurl --enable-server --enable-agent --enable-proxy --prefix=/usr/local/zabbix
参数说明:
--prefix----> 指定zabbix安装目录
--enable-java java jvm监控支持
--enable-server----> 支持zabbix服务器
--enable-agent----> 支持zabbix代理
--enable-proxy----> 支持zabbix代理服务器
--with-libcurl----> 使用curl包
--with-net-snmp----> 使用net-snmp软件包,选择性地指定路径NET-SNMP配置
--with-mysql=/usr/bin/mysql_config 使用MySQL客户端库可以选择指定路径mysql_config
make
make install
注:如出现configure: error: MySQL library not found错误,是因为缺少mariadb-devel该软件包,解决方法是:
yum install mariadb-devel
mysql -u root -p
MariaDB [(none)]> use zabbix;
MariaDB [zabbix]> source /root/zabbix-2.4.5/database/mysql/schema.sql
MariaDB [zabbix]> source /root/zabbix-2.4.5/database/mysql/data.sql
MariaDB [zabbix]> source /root/zabbix-2.4.5/database/mysql/images.sql
MariaDB [zabbix]> quit
4. 端口设置(可选)
cat /etc/services |grep zabbix
zabbix-agent 10050/tcp # Zabbix Agent //客户端
zabbix-agent 10050/udp # Zabbix Agent
zabbix-trapper 10051/tcp # Zabbix Trapper //服务端
zabbix-trapper 10051/udp # Zabbix Trapper
5. 配置文件
mkdir -p /etc/zabbix
cp -r /root/zabbix-2.4.5/conf/* /etc/zabbix/
chown -R zabbix:zabbix /etc/zabbix
ln -s /usr/local/zabbix/etc /etc/zabbix/
ln -s /usr/local/zabbix/bin/* /usr/bin/
ln -s /usr/local/zabbix/sbin/* /usr/sbin/
vi /etc/zabbix/zabbix_server.conf
30:LogFile=/tmp/zabbix_server.log ##日志文件地址
68:DBHost=localhost ##数据库主机
78:DBName=zabbix ##数据库名
94:DBUser=zabbix ##数据库用户名
102:DBPassword=zabbix ##数据库密码
282:ListenIP=127.0.0.1 ##数据库IP地址
425:AlertScriptsPath=/usr/local/zabbix/share/zabbix/alertscripts##zabbix
运行脚本存放目录
查看修改一的结果
cat /etc/zabbix/zabbix_server.conf | grep -n ^[^#]
vi /etc/zabbix/zabbix_agentd.conf
11:PidFile=/tmp/zabbix_agentd.pid ##进程PID
21:LogFile=/tmp/zabbix_agentd.log ##日志保存位置
59:EnableRemoteCommands=1 ##允许执行远程命令
81:Server=127.0.0.1 ##agent端的ip
122:ServerActive=127.0.0.1
133:Hostname=Zabbix server ##必须与zabbix创建的hostname相同
252:Include=/usr/local/etc/zabbix_agentd.conf.d/
265:UnsafeUserParameters=1 ##启动自定义key
6. 配置php.ini
vi /etc/php.ini
384:max_execution_time = 300
394:max_input_time = 300
405:memory_limit = 128M
800:upload_max_filesize = 2M
878:date.timezone = Asia/Shanghai
672:post_max_size = 28M
7. 配置 web
cd /root/zabbix-2.4.5
cp -r frontends/php /var/www/html/zabbix
vi /etc/httpd/conf/httpd.conf
163:<IfModule dir_module>
164: DirectoryIndex index.html index.php
165:</IfModule>
8. 关闭SELinux
setenforce 0 ##设置SELinux 成为permissive模式 (关闭SELinux)
setenforce 1 ##设置SELinux 成为enforcing模式 (开启SELinux)
或
vi /etc/selinux/config
将SELINUX=enforcing 改为SELINUX=disabled
需重启机器
9. 设置防火墙
/sbin/iptables -I INPUT -p tcp --dport 80 -j ACCEPT 写入修改
10. 安装 web 端
# 启动web server
systemctl start httpd.service
浏览:
http://ip/zabbix/setup.php
按提示操作操作。
当提示:
点击Download configuration file,放到指定的位置:
/var/www/html/zabbix/conf/zabbix.conf.php
点Retry。
安装完后,默认账号admin,密码zabbix。
11. 添加开机启动脚本
cd zabbix-2.4.5/
cp misc/init.d/fedora/core5/zabbix_server /etc/rc.d/init.d/zabbix_server
cp misc/init.d/fedora/core5/zabbix_agentd /etc/rc.d/init.d/zabbix_agentd
chmod u+x /etc/rc.d/init.d/zabbix_server
chmod u+x /etc/rc.d/init.d/zabbix_agentd
chkconfig zabbix_server on
chkconfig zabbix_agentd on
添加zabbix用户
groupadd -g 130 zabbix
useradd -u 130 -g zabbix -c 'Zabbix monitoring' zabbix
启动zabbix server
/usr/local/zabbix/sbin/zabbix_server start
重启
service zabbix-server restart
启动zabbix agent
/usr/local/zabbix/sbin/zabbix_agentd start
三、zabbx3的一些命令
zabbix_agentd -p | grep uptime #列出items
#查看是否启动成功
netstat -nltp | grep zabbix
#启动
zabbix_agentd start
四、客户端安装zabbix_agentd
1. 安装脚本
groupadd -g 1001 zabbix
useradd -u 1001 -g 1001 -s /sbin/nologin -M zabbix
wget http://mirrors.aliyun.com/zabbix/zabbix/3.2/rhel/7/x86_64/zabbix-agent-3.2.6-1.el7.x86_64.rpm
rpm -ivh zabbix-agent-3.2.6-1.el7.x86_64.rpm
yum install zabbix-agent
# 配置
vi /etc/zabbix/zabbix_agentd.conf
# 修改 Server= ServerActive= Hostname=
# 在服务端添加相应Hostname
#启动
service zabbix-agent start
systemctl enable zabbix-agent 开机启动
2. 防火墙设置
服务端的10050 10051对客户端开放
客户端10050对服务端开放
示例:
-A INPUT -m state --state NEW --src 服务端ip -m udp -p udp --dport 10050 -j ACCEPT
-A INPUT -m state --state NEW --src 服务端ip -m tcp -p tcp --dport 10050 -j ACCEPT
如果启用了阿里云安全组,需要设置在安全组设置里添加端口。
在服务器端检测客户端是否连通:
/usr/bin/zabbix_get -s 客户端IP -p10050 -k"net.if.in[eth0,bytes]"
五、其它问题处理
zabbix的log位置在conf文件里有记录,如果有错误可以查看log。
如果log提示:
zabbix_agentd [2693]: cannot create PID file [/var/run/zabbix/zabbix_agentd.pid]: [2] No such file or directory
可以使用命令:
cd /var/run
mkdir zabbix
sudo chown zabbix zabbix/