Zabbix监控安装配置
一.web监控
注:zabbix_get 模块原理是访问目的地址主机,由目的地主机通过本机回环接口获取本机信息,回传到发送端。
在server7上编译nginx
yum install -y gcc openssl-devel pcre-devel
./configure --with-http_stub_status_module --with-http_ssl_module
make
make install
软连接
cd /usr/local/nginx/
ln -s /usr/local/nginx/sbin/nginx /usr/local/bin/
修改配置
vim conf/nginx.conf
nginx -t
nginx
location /status {
stub_status on;
access_log off;
allow 127.0.0.1;
deny all;
}
shell语句抓取nginx
curl -s http://localhost/status |grep Active |awk '{print $3}'
写入配置文件:
cd /etc/zabbix/zabbix_agentd.d/
ls
cp userparameter_mysql.conf userparameter_nginx.conf
ll
vim userparameter_nginx.conf
systemctl restart zabbix-agent.service
UserParameter=nginx.active,curl -s http://localhost/status | grep Active |awk '{print $3}'
UserParameter=nginx.accept,curl -s http://localhost/status | awk NR==3 | awk '{print $1}'
UserParameter=nginx.handle,curl -s http://localhost/status | awk NR==3 | awk '{print $2}'
UserParameter=nginx.request,curl -s http://localhost/status | awk NR==3 | awk '{print $3}'
server6
yum install -y zabbix-get
zabbix_get -s 172.25.3.7 -p 10050 -k "nginx.active"
get健值:
zabbix_get -s 172.25.3.7 -p 10050 -k "nginx.handle"
zabbix_get -s 172.25.3.7 -p 10050 -k "nginx.accpet"
zabbix_get -s 172.25.3.7 -p 10050 -k "nginx.accept"
zabbix_get -s 172.25.3.7 -p 10050 -k "nginx.request"
添加监控项,键值必须与userparameter_nginx.conf
对应:
创建图像,添加监控模块进入图像监控
二.添加percona-mysql模块
server6
rpm -ivh percona-zabbix-templates-1.1.8-1.noarch.rpm
cd /var/lib/zabbix/percona/templates
cp userparameter_percona_mysql.conf /etc/zabbix/zabbix_agentd.d/
cat userparameter_percona_mysql.conf | wc -l
查看脚本,无需修改:
cd ..
cd scripts/
ls
vim get_mysql_stats_wrapper.sh
安装php-mysql
yum install -y php-mysql
修改连接文件
vim ss_get_mysql_stats.php
systemctl restart zabbix-agent.service
执行脚本测试,脚本执行成功后生成localhost-mysql_cacti_stats.txt
:
/var/lib/zabbix/percona/scripts/get_mysql_stats_wrapper.sh gg
cd /tmp/
ls
cat localhost-mysql_cacti_stats.txt
执行成功后删除txt文件,避免发生冲突导致监控无法自动运行
rm -rf localhost-mysql_cacti_stats.txt
在firefox 导入模板:
为主机添加模板,查看监控:
停用stop slave触发器,避免影响使用:
查看监控图形:
三.zabbix-web 图形乱码解决
缺少中文模块乱码解决:
cd /usr/share/zabbix/fonts
ls
ll
删除graphfont.ttf
rm -rf graphfont.ttf
复制中文字体模板simkai.ttf到当前目录
cd /usr/share/zabbix/fonts
cp ~/simkai.ttf .
制作软连接
ln -s simkai.ttf graphfont.ttf
四.zabbix+jmx+tomcat
server6
yum install -y zabbix-java-gateway.x86_64
cd /etc/zabbix/
systemctl enable --now zabbix-java-gateway.service
netstat -antlp | grep :10052
修改zabbix_server.conf
JavaGatewayPort=10052
StartJavaPollers=5
JavaGateway=172.25.3.6
systemctl restart zabbix-server.service
server8
解压tomcat:
tar zxf apache-tomcat-7.0.90.tar.gz -C /usr/local/
安装java:
yum install -y java
软连接:
cd /usr/local/
ln -s apache-tomcat-7.0.90/ tomcat
修改脚本,监控端口8888:
vim /usr/local/tomcat/bin/catalina.sh
TALINA_OPTS='-Dcom.sun.management.jmxremote
-Dcom.sun.management.jmxremote.port=8888
-Dcom.sun.management.jmxremote.ssl=false
-Dcom.sun.management.jmxremote.authenticate=false'
执行启动脚本:
cd /usr/local/tomcat
bin/startup.sh
netstat -antlp
设置jmx端口:
172.25.3.8 8888
添加模板
重启agent,查看状态:
成功
五.zabbix分布式部署
分布式部署示意:
server6 (server、mysql(zabbix、zabbix-proxy)) <---- server9(proxy) <------ server8(jmx、agent)
原理:
如果所有agent直接向server传递主机信息,一方面会增大server的负载,另一方面由于所有agent都需要穿过防火墙,降低安全性,因此设定代理server收集所有受监控主机信息,再传给server控制端,降低负载同时保证安全性。
- server6作为server控制端
- server9作为代理端,负责接受其他agent发来的信息,再传递给server控制端
- server8作为agent,向代理端传递信息
部署:
server8:指向server9
server9: 收集server8,指向server6 添加java模块
server6: 收集sever9信息
本次部署,proxy采用存储分离方式,通过网络存储读取数据
DBHost:localhost 本地数据库
DBHost:172.25.3.6 网络数据库 proxy与数据分离
网络连接数据库需要创建网络用户
1.server6:server控制端配置
创建agent代理程序:
在server8主机管理页面设置接口:
创建成功:
在mysql创建库并授予网络访问权限:
create database zabbix_proxy character set utf8 collate utf8_bin;
grant all on zabbix_proxy.* to 'zabbix'@'%' identified by 'westos';
在server9安装好zabbix-proxy-mysql
,将数据库设置文件拷贝过来,并导入本机mysql
cd /usr/share/doc/zabbix-proxy-mysql-4.0.5/
scp schema.sql.gz root@172.24.3.6:/roo
导入文件:
重启zabbix-server:
systemctl restart zabbix-server.service
2.server9:proxy端配置
安装zabbix-proxy-mysql:
yum install -y zabbix-proxy-mysql.x86_64
修改配置文件:
cd /etc/zabbix/
vim zabbix_proxy.conf
Server=172.25.3.6 #server控制端ip
ServerPort=10051
Hostname=server9 #本机主机名
DBHost=172.25.3.6 #数据库地址
DBName=zabbix_proxy #数据库database
DBPassword=westos #密码
DBUser=zabbix #登陆用户
JavaGateway=172.25.3.6 #java流地址
StartJavaPollers=5 #最大支持数
启动服务,并设置开机自启;
3.server8:agent配置
修改agent配置文件,指向server9:
Server=172.25.3.9
ServerActive=172.25.3.9
Hostname=server8
systemctl restart zabbix-agent.service
4.效果展示
查看日志
server6日志:server
server9日志:proxy
server8日志:agent
查看监控状态: