zabbix监控系统的应用--监控java,添加模版,告警

一.zabbix监控nginx

1.安装nginx 服务
rpm -ivh nginx-1.8.0-1.el6.ngx.x86_64.rpm
2.编辑nginx的配置文件cd /etc/nginx/conf.d/
vim default.conf
server {
listen 80;
server_name localhost;

#charset koi8-r;
#access_log  /var/log/nginx/log/host.access.log  main;

location / {
    root   /usr/share/nginx/html;
    index  index.html index.htm;
}

location /status {
    stub_status   on;
    # Nginx中的stub_status模块主要用于查看Nginx的一些状态信息. 本模块默认是不会编译进Nginx的,如果你要使用该模块,则要在编译安装Nginx时指定:./configure –with-http_stub_status_module 
    access_log    off;
    # 关闭日志记录
    allow 127.0.0.1;        # 只允许本机访问
    deny all;
}

这里写图片描述
3.利用curl http://127.0.0.1/status访问nginx用来做测试
这里写图片描述
4.过滤监控参数(访问次数,连接次数等等)
curl -s http://127.0.0.1/status | grep Active | awk ‘{print $NF}’
将过滤出来的参数以key—value键值对的形式存储:

cd /etc/zabbix/zabbix_agentd.d 
cp userparameter_mysql.conf userparameter_nginx.conf   # 利用监控mysql服务的配置文件模版复制一份给nginx服务
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}'        # 获取请求次数

5.打开zabbix-agent ,可以在监控主机中监控
/etc/init.d/zabbix-agent start

6.在监控主机中(server1)中安装rpm -ivh zabbix-get-3.4.6-1.el7.x86_64.rpm

zabbix_get 是 zabbix 服务端的一个命令,用于检测 agent 端的配置是否正确,可以很方便地知道 key是否能正常获取到数据,在测试自定义监控的时候特别有用

获取agent端的键值:zabbix_get -s 172.25.1.4 -p 10050 -k ‘nginx.active’
7.在zabbix网页中加入监控项和图形,开始检测
(1)选择监控主机
这里写图片描述
(2)添加监控项(可多次添加)
这里写图片描述
这里写图片描述
这里写图片描述
(3)添加监控图形
这里写图片描述

二.向zabbix监控中导入模版监控mysql的模版percona

在server1(zabbix监控端)中:
1.安装percona-zabbix模版
rpm -ivh percona-zabbix-templates-1.1.8-1.noarch.rpm
这里写图片描述
2.拷贝userparameter_percona_mysql.conf 文件到被监控的mysql服务器上(此时也是server1主机)

cd /var/lib/zabbix/percona/templates
cp userparameter_percona_mysql.conf /etc/zabbix/zabbix_agentd.d/

3.测试percona的脚本,过滤监控项有190个

/var/lib/zabbix/percona/scripts/get_mysql_stats_wrapper.sh gg    # 测试脚本
cd /etc/zabbix/zabbix_agentd.d
cat userparameter_percona_mysql.conf      # 监控项

systemctl restart zabbix_agent
4.由于percona的监控脚本是使用php写的,所以需要准备好php运行环境,这里直接用yum安装.安装完成后将zabbix的数据库和密码写入php脚本中…

yum install php php_fpm
vim ~zabbix/.my.cnf
[client]
user = root
password =jay
systemctl restart zabbix-agent

5.在zabbix的web端导入模版
这里写图片描述
这里写图片描述
在模版库中查看:
这里写图片描述
可以尝试在让某台主机使用该模版,添加进去则为成功:
这里写图片描述

三、zabbix使用JMX监控tomcat

1.在server4(agent的客户端)上安装tomcat和jdk,并打开tomcat

rpm -ivh jdk-8u121-linux-x64.rpm
tar zxf  apache-tomcat-7.0.90.tar.gz -C /usr/local/
cd /usr/local/
ln -s apache-tomcat-7.0.90/ tomcat   # 做软连接
cd bin/
./startup.sh
netstat -antlp

这里写图片描述
查看8080端口是否被打开:
这里写图片描述
2.向tomcat中添加JMX的参数
—–JMX全称Java Management Extensions, 为Java应用提供管理扩展功能

vim catalina.sh
CATALINA_OPTS='-Dcom.sun.management.jmxremote
  -Dcom.sun.management.jmxremote.port=8888
  # 监听端口号,方便远程访问
  -Dcom.sun.management.jmxremote.ssl=false
  # 是否对连接开启SSL加密,默认开启
  -Dcom.sun.management.jmxremote.authenticate=false'
  # 是否需要开启用户认证,默认开启

# OS specific support.  $var _must_ be set to either true or false.


./shutdown.sh 
./startup.sh   # 重新启动tomcat

3.在server1(zabbix服务端)上:

yum install zabbix-java-gateway-3.4.6-1.el7.x86_64.rpm
systemctl start zabbix-java-gateway

4.在zabbix的web界面
(1)选择监控主机
(2)添加模版
这里写图片描述
这里写图片描述
这里写图片描述
这里写图片描述

四.连接zabbix与告警系统

当我们在zabbix设置好了种种需要监控的主机和服务时,如果某个服务出错需要人为解决,那么我们怎样才能第一时间得知,有一个很好的告警系统—one alter云告警系统来及时将告警信息通知到我们..
1.在zabbix的配置文件中查看zabbix的监控告警目录
vim /etc/zabbix/zabbix_server.conf
这里写图片描述
2.获取应用key
(1)登陆云告警系统(www.oneitem.com)并设置个人信息,如果需要告警发送到微信,则需要绑定微信
这里写图片描述
(2)在配置—>应用—->添加应用—–>zabbix
这里写图片描述
3.在zabbix的监控告警目录下解压安装告警软件(必须在该路径下,否则会报错,告警不能及时送达)

tar zxf oneitsm_zabbix_release-1.2.0.tar.gz
cd oneitsm/bin/
./install.sh  17fbfa27-5581-c92b-da67-1d90f2832bb6     # 利用应用key安装

这里写图片描述
4.在zabbix的web界面中添加告警媒介
管理—–>告警媒介类型—–>创建媒体类型(右上角)
这里写图片描述

这里写图片描述
5.排除别的可以触发告警的告警源(在该实验环境下,我们监控的mysql数据库没有slave端,这时可以触发告警的,所以我们需要将与mysql的slave相关的全部禁用)
这里写图片描述
6.查看告警用户
这里写图片描述
7.触发器触动告警条件
这里写图片描述
8.测试:在server4端关闭zabbix-agent
过了告警处理时间,告警系统会根据你设定的告警媒介发送告警消息,同时在告警系统中也可以看到告警情况,当有人认领该告警接着处理告警后,也会在告警系统中送达,:
这里写图片描述
在zabbix的web端也可以看到告警的处理情况:
这里写图片描述

猜你喜欢

转载自blog.csdn.net/jay_youth/article/details/81710626
今日推荐