zabbix-server,zabbix-proxy,zabbix-agent应用演示:
zabbix是一款监控软件,主要完成采集被监控主机上的某些指标数据,并对其进行观察,如果超出设定的阈值,可定义触发事件,执行某些命令操作,以便能保证系统正常运行。
一般由server端和agent端组成,还可有proxy端;
server端其实就是监控主机,所有监控数据都汇总到此server端,便于监控,触发事件等操作;
agent端就是被监控主机,它与server端直接通信,被监控主机的数据直接传输给server端;
proxy端其实可认为是一个中间人,就是在agent端与server端中间加了个中间人,由这个中间人代为负责把agent端监控的数据转交给server端;
对于不同的角色配置文件有所不同,它们所依赖到的程序包也不大一样;
server主机和数据库在同一台机器上:192.168.255.2
zabbix agent端:192.168.255.3
zabbix proxy端:192.168.255.4
被代理端:192.168.255.5
配置zabbix server主机:
安装zabbix-server依赖相关程序
]# yum -y install php-mysql httpd
]# systemctl start httpd.service
]# yum -y install mariadb-server
]# systemctl start mariadb.service
]# ss -tnl 确保3306端口监听
]# cat /etc/my.cnf
填写:
skip_name_resolve=on
innodb_file_per_table=on
并记下mysql用于本机通信的socket路径,后面修改zabbix server配置文件中会用到:
socket=/var/lib/mysql/mysql.sock
]# mysql
> CREATE DATABASE zabbix CHARSET 'utf8';
> GRANT ALL ON zabbix.* TO zbxuser@'192.168.255.%' IDENTIFIED BY 'zbxpass';
> GRANT ALL ON zabbix.* TO zbxuser@'127.0.0.1' IDENTIFIED BY 'zbxpass';
> FLUSH PRIVILEGES;
]# yum -y install zabbix-server-mysql zabbix-web zabbix-agent zabbix-web-mysql zabbix-sender zabbix-get
]# cd /usr/share/doc/zabbix-server-mysql-3.0.2/
]# gzip -d create.sql.gz
]# mysql -h127.0.0.1 -uzbxuser -p zabbix < create.sql
]# vim /etc/zabbix/zabbix_server.conf
注意:centos7.1中trousers程序包版本不支持zabbix,所以只有centos7.2以上版本才支持,因此,需升级trousers版本到trousers-0.3.13-1.el7.x86_64.rpm
]# rpm -U --nodigest trousers-0.3.13-1.el7.x86_64.rpm
]# systemctl start zabbix-server.service
还要指明zabbix的时区,即配置php的时区指定:
]# vim /etc/httpd/conf.d/zabbix.conf
php_value date.timezone Asia/Shanghai
输入浏览器:http://172.18.11.113/zabbix
第一次启动时,会自动跳转到setup安装操作;点击下一步:
查看都是ok状态:点击下一步:输入数据库相关信息
填入在数据库中设置的ip地址,用户名、密码等信息:
填入server端相关信息,此处user可省略,下一步:
确认信息:
点击完成;
zabbix的默认登录名为admin,密码为zabbix;
显示的主页面:
添加一台zabbix agent端:
在server端的zabbix主页面添加agent端,还要在agent端修改配置文件:
在agent端配置:
]# yum install zabbix-agent zabbix-sernder
]# vim /etc/zabbix/zabbix_agentd.conf
Server=192.168.255.2
]# systemctl start zabbix-agent.service
]# ss -tnl 查看10050端口监听
在server端的zabbix页面添加主机:
Configuration--》Hosts--》 Create host:
添加完成后,等一会,数据采集到后即可看见相关数据:
添加一台zabbix agent端完成。
还可设置自动发现:如果有n台agent端,在zabbix agent端配置文件中指明:如果agent端工作在主动模式则需要配置,server端IP地址和hostname两项,如果agent端工作在被动模式仅需配置一项server端ip地址即可。
配置zabbix proxy代理端:
]# yum -y install zabbix-proxy-mysql zabbix-agent zabbix-sender zabbix-get
编辑zabbix proxy的配置文件:
编辑内容与配置server端类似,只不过是真的proxy端设置而已;
安装数据库:
]# yum -y install mariadb-server
]# systemctl start mariadb.service
]# mysql
> CREATE DATABASE zbxproxy CHARSET 'utf8';
> GRANT ALL ON zbxproxy.* TO 'zbxproxy'@'192.168.255.%' IDENTIFIED BY 'zbxpass';
> FLUSH PRIVILEGES;
测试登录数据库:
]# mysql -uzbxproxy -h192.168.255.4 -pzbxpass
]# vim /etc/zabbix/zabbix_proxy.conf
Server=192.168.255.2
Hostname=Zabbix proxy1
DBHost=192.168.255.4
DBName=zbxproxy
DBUser=zbxproxy
DBPassword=zbxpass
DBSocket=/var/lib/mysql/mysql.sock
ConfigFrequency=60
]# cd /usr/share/doc/zabbix-proxy-mysql-3.0.2/
]# gzip -d /usr/share/doc/zabbix-proxy-mysql-3.0.2/schema.sql.gz
]# mysql -uzbxproxy -h192.168.255.4 -p zbxproxy < schema.sql
导入库后,可进去查看;
]# systemctl start zabbix-proxy
]# ss -tnl 查看监听10051端口;
]# vim /etc/zabbix/zabbix_agentd.conf
Server=127.0.0.1, 192.168.255.4
ServerActive=127.0.0.1, 192.168.255.4,192.168.255.2
Hostname=host2
]# systemctl start zabbix-agent
在server端zabbix页面添加proxy:
填入此前设置的名称,选择Active后,点击Add即可;
再在创建要监控的主机:选择代理
给这个被监控主机添加一个item监控项,点击Add即可;
这样,以便观察由代理端是否能检测到被监控主机的数据信息;如果经配置没问题,过一会,应该会有数据采集到:
这样一个zabbix proxy代理就配置完成了。
具体设置item监控项及trigger事件后做什么操作,可根据实际应用自行定义。