Zabbix应用

一、Zabbix监控nginx

1、安装nginx配置ngixn_status
在server2中:

[root@server2 ~]# rpm -ivh nginx-1.8.0-1.el6.ngx.x86_64.rpm
[root@server2 ~]# cd /etc/nginx/cd conf.d/
[root@server2 conf.d]# vim default.conf
   12     location /status {
   13            stub_status    on;
   14            access_log     off;
   15        }

这里写图片描述
在网页访问172.25.3.2/status
这里写图片描述

设定只允许本机访问
[root@server2 conf.d]# vim default.conf
  12     location /status {
  13         stub_status    on;
  14         access_log     off;
  15         allow  127.0.0.1;
  16         deny  all ;
  17     }
[root@server2 conf.d]# nginx -t
nginx: the configuration file /etc/nginx/nginx.conf syntax is ok
nginx: configuration file /etc/nginx/nginx.conf test is successful
[root@server2 conf.d]# nginx  ##打开nginx

这里写图片描述
[root@server2 conf.d]# curl http://172.25.3.2/status
[root@server2 conf.d]# curl http://127.0.0.1/status
这里写图片描述
2、添加自定义key配置文件

 [root@server2 conf.d]# curl http://127.0.0.1/status
 Active connections: 1 
 server accepts handled requests
 10 10 11 
 Reading: 0 Writing: 1 Waiting: 0 
[root@server2 conf.d]# cd /etc/zabbix/
[root@server2 zabbix]# cd zabbix_agentd.d/
[root@server2 zabbix_agentd.d]# cp userparameter_mysql.conf userparameter_nginx.conf 
##复制一个nginx.conf文件

测试是否可以拿到key值

[root@server2 zabbix_agentd.d]# curl -s http://127.0.0.1/status | grep Active | awk '{print $NF}'
[root@server2 zabbix_agentd.d]# curl -s http://127.0.0.1/status | awk NR==3 |awk '{print $3}'
[root@server2 zabbix_agentd.d]# curl -s http://127.0.0.1/status | awk NR==3 |awk '{print $2}'
[root@server2 zabbix_agentd.d]# curl -s http://127.0.0.1/status | awk NR==3 |awk '{print $1}'

这里写图片描述
写到配置文件

[root@server2 zabbix_agentd.d]# vim userparameter_nginx.conf
UserParameter=nginx.active,curl -s http://127.0.0.1/status | grep Active | awk '{print $NF}'
UserParameter=nginx.accepts,curl -s http://127.0.0.1/status | awk NR==3 |awk '{print $1}'
UserParameter=nginx.handled,curl -s http://127.0.0.1/status | awk NR==3 |awk '{print $2}'
UserParameter=nginx.requests,curl -s http://127.0.0.1/status | awk NR==3 |awk '{print $3}'

这里写图片描述

[root@server2 zabbix_agentd.d]# chkconfig zabbix-agent on
###设置zabbix-agent开机自启动
[root@server2 zabbix_agentd.d]# /etc/init.d/zabbix-agent start
###打开zabbix-agent服务

在配置文件中允许自定义key值

[root@server2 zabbix]# pwd
/etc/zabbix
[root@server2 zabbix]# vim zabbix_agentd.conf 
##将286行改为等于1
[root@server2 zabbix]# /etc/init.d/zabbix-agent restart

这里写图片描述
这里写图片描述
3、在server端安装zabbix-get查看能否拿到key值
在server1中:

[root@server1 ~]# rpm -ivh zabbix-get-3.4.6-1.el7.x86_64.rpm 
[root@server1 ~]# zabbix_get -s 172.25.3.2 -p 10050 -k 'nginx.accepts'
[root@server1 ~]# zabbix_get -s 172.25.3.2 -p 10050 -k 'nginx.handled'
[root@server1 ~]# zabbix_get -s 172.25.3.2 -p 10050 -k 'nginx.requests'

这里写图片描述
4、在web监控端,点击监控的serevr2创建监控项
这里写图片描述
将之前我们拿到的4个key值都添加到监控项
(1)添加nginx_active监控项
这里写图片描述
(2)添加nginx_accepts监控项
这里写图片描述
(3)添加nginx_handled监控项
这里写图片描述
(4)添加nginx_requests监控项
这里写图片描述
完成添加后,点击图形,创建图形,加入之前添加的监控项
这里写图片描述
这里写图片描述
选择之前创建的图形nginx_status,再点击预览
这里写图片描述
这里写图片描述

二、zabbix使用percona的模板来监控mysql

1、在agent端安装zabbix-percona-templates
server1中:

[root@server1 ~]# rpm -ivh percona-zabbix-templates-1.1.8-1.noarch.rpm
执行完这一步会生成两个目录 
分别是/var/lib/zabbix/percona/scripts和
/var/lib/zabbix/percona/templates
拷贝userparameter_percona_mysql.conf 文件到被监控的mysql服务器上
[root@server1 scripts]# cd /var/lib/zabbix/percona/templates/
[root@server1 templates]# cp userparameter_percona_mysql.conf /etc/zabbix/zabbix_agentd.d

查看过滤应该是190个监控项

[root@server1 templates]# cd /etc/zabbix/zabbix_agentd.d/
[root@server1 zabbix_agentd.d]# vim userparameter_percona_mysql.conf
[root@server1 zabbix_agentd.d]# cat userparameter_percona_mysql.conf | wc -l
190

这里写图片描述

[root@server1 zabbix_agentd.d]# cd /var/lib/zabbix/percona/scripts/
建立percona的php配置文件
[root@server1 scripts]# vim ss_get_mysql_stats.php.cnf
<?php
$mysql_user = 'root';
$mysql_pass = 'redhat';

这里写图片描述

[root@server1 scripts]# mysql -p  ##登录查看是否有数据库
Enter password: 
Welcome to the MariaDB monitor.  Commands end with ; or \g.
Your MariaDB connection id is 686
Server version: 5.5.52-MariaDB MariaDB Server

Copyright (c) 2000, 2016, Oracle, MariaDB Corporation Ab and others.

Type 'help;' or '\h' for help. Type '\c' to clear the current input statement.

MariaDB [(none)]> Bye

4、测试获取数据是否成功

[root@server1 scripts]# /var/lib/zabbix/percona/scripts/get_mysql_stats_wrapper.sh gg
测试结果只要有值就行
[root@server1 scripts]# cd /tmp/
[root@server1 tmp]# ls
localhost-mysql_cacti_stats.txt
systemd-private-47d219fa9c9c4e649ae3f601b4489fc3-httpd.service-6FdRoJ
systemd-private-47d219fa9c9c4e649ae3f601b4489fc3-mariadb.service-DDtNNS
[root@server1 tmp]# cat localhost-mysql_cacti_stats.txt 
[root@server1 tmp]# rm -fr localhost-mysql_cacti_stats.txt 

这里写图片描述
在server端,get测试
这里写图片描述

[root@server1 ~]# vim ~zabbix/.my.cnf  
               [client]
               user = root
               password = redhat
[root@server1 ~]# systemctl restart zabbix-agent ##重启

5、在web端导入percona-mysql模版
点击配置,主机,点击右上角的导入,添加上聚合图形
这里写图片描述
然后在agent模版界面链接此模版即可
这里写图片描述
点击选择,选择percona
这里写图片描述
这里写图片描述
查看此时的监控项为239个
这里写图片描述

三、zabbix使用JMX监控tomcat

1、在agent端配置tomcat

[root@server2 ~]# rpm -ivh jdk-8u121-linux-x64.rpm 
[root@server2 ~]# tar zxf apache-tomcat-7.0.90.tar.gz -C /usr/local/
[root@server2 ~]# cd /usr/local/
[root@server2 local]# ln -s apache-tomcat-7.0.90/ tomcat
[root@server2 local]# cd /usr/local/tomcat/bin/
[root@server2 bin]# vim catalina.sh 

配置catalina.sh
这里写图片描述

[root@server2 bin]# ./startup.sh  ###启动脚本
[root@server2 bin]# netstat -antlp | grep :8888  查看端口

这里写图片描述
2.下载java-gateway
在server1中:

 yum install zabbix-java-gateway-3.4.6-1.el7.x86_64.rpm -y
[root@server1 ~]# systemctl start zabbix-java-gateway
[root@server1 ~]# cd /etc/zabbix/
[root@server1 zabbix]# vim zabbix_server.conf 
[root@server1 zabbix]# systemctl restart zabbix-server

zabbix_server.conf 文件配置为:
这里写图片描述
在zabbix网页中:
给server2主机添加一个JMX接口
这里写图片描述
添加java JMX模板
这里写图片描述
这里写图片描述
查看主机:
这里写图片描述

四、zabbix的告警系统

首先让虚拟机可以上网

在真机中:
[root@foundation3 Desktop]# iptables -t nat -I POSTROUTING -s 172.25.3.0/24 -j MASQUERADE
在server1中:
[root@server1 zabbix]# route add default gw 172.25.3.250  ##添加网关
[root@server1 zabbix]# route -n   ##查看添加
Kernel IP routing table
Destination     Gateway         Genmask         Flags Metric Ref    Use Iface
0.0.0.0         172.25.3.250    0.0.0.0         UG    0      0        0 eth0
172.25.3.0      0.0.0.0         255.255.255.0   U     100    0        0 eth0
[root@server1 zabbix]# vim /etc/resolv.conf
nameserver 114.114.114.114
[root@server1 zabbix]# ping baidu.com  ##能够ping通就行

这里写图片描述

在server1中的操作

[root@server1 zabbix]# cd /usr/lib/zabbix/alertscripts
注意一定要在此目录进行下面操作,这是zabbix的告警目录
[root@server1 alertscripts]#tar zxf oneitsm_zabbix_release-1.2.0.tar.gz
[root@server1 alertscripts]#cd oneitsm/bin/
[root@server1 bin]# ./install.sh 39cfc2c3-36a5-acd1-722c-a15fae4f4ea2
./log.sh: line 6: /usr/lib/zabbix/alertscripts/oneitsm/bin/oneitsm.conf: No such file or directory
start to create config file...
Zabbix管理地址: http://172.25.3.1/zabbix
Zabbix管理员账号: Admin
Zabbix管理员密码: 为zabbix

在执行./install.sh时,后面跟的key值在onealert网站中添加zabbix就会看见
这里写图片描述
这里写图片描述
在zabbix的web界面中添加告警媒介
管理—–>用户->Admin->报警媒介->添加
这里写图片描述
这里写图片描述
.排除别的可以触发告警的告警源(在该实验环境下,我们监控的mysql数据库,没有slave,所以禁用)
这里写图片描述
因为这里没有用到其他3种方式,所以禁用掉
这里写图片描述
这里写图片描述
告警的通知策略
这里写图片描述
测试:在server2中关闭掉zabbix-agent,5分钟后会发送告警通知,如果绑定手机微信则会在微信通知,等待认领告警
这里写图片描述
这里写图片描述
认领告警后,打开server2的zabbix-agent,它会记录并通知是否恢复
这里写图片描述
告警详情
这里写图片描述

评论 1
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包
实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

1.余额是钱包充值的虚拟货币,按照1:1的比例进行支付金额的抵扣。
2.余额无法直接购买下载,可以购买VIP、付费专栏及课程。

余额充值