Zabbix 3.0 生产实战 [二]

2017年6月25日16:06:43 发表评论 1,864 views
摘要

本文主要讲述监控Snmp、JVM、ICMP、以及监控tomcat内存使用情况等,日志的等级设置。

广告也精彩

zabbix
时间:2017年5月22日
笔者QQ:598759292 右侧加群,解决您的疑问。
Zabbix相关文章

Zabbix 生产案例实战

Zabbix 3.0 生产实战 [二]

一、项目规划

1、主机分组:

交换机
Nginx
Tomcat
MySQL

2、监控对象识别:

使用SNMP监控交换机 
使用IPMI监控服务器硬件 
使用Agent监控服务器 
使用JMX监控Java应用 
监控MySQL 
监控Web状态 
监控Nginx状态

3、操作步骤:

3.1 SNMP监控

请参考:zabbix 监控-华为路由器(ASG2100)

3.2 IPMI监控

添加IPMI
Configuration--->Hosts--->选择主机--->设置IPMI端口及主机--->用户名密码
  因为IMP容易超时,建议使用自定义item,本地执行ipmitool命令来获取数据

3.3 JMX监控

Zabbix默认提供了一个监控JMX
通过java gateway来监控java
Zabbix 3.0 生产实战 [二]
地址:https://www.zabbix.com/documentation/3.2/manual/appendix/config/zabbix_java
  JAVA GATEWAY需要独立安装,相当于一个网关,因为zabbix_server和zabbix-agent不可以直接获取java信息。所以需要一个代理来获取
Zabbix 3.0 生产实战 [二]
zabbix java Gateway不存任何数据,只是一个简单的代理
1、安装

[root@linux-node1 ~]# yum install -y zabbix-java-gateway java-1.8.0
提示:java-gateway 需要java环境

2、配置
修改java-gateway

[root@linux-node1 ~]# vim /etc/zabbix/zabbix_java_gateway.conf 
# LISTEN_IP="0.0.0.0"   监听的IP地址
# LISTEN_PORT=10052     监听的端口
PID_FILE="/var/run/zabbix/zabbix_java.pid" 存放pid路径
# START_POLLERS=5       开通几个进程,默认是5。你有多少java进行可以设置多少个,也可以设置java进程的一半。
TIMEOUT=3               超时时间1-30,如果网络环境差,超时时间就修改长一点
我们默认就可以了,不进行修改 

3、启动

[root@linux-node1 ~]# systemctl start zabbix-java-gateway.service

4、端口、进程查看
我们可以进行进程的查看

[root@linux-node1 ~]# netstat -lntp
Active Internet connections (only servers)
Proto Recv-Q Send-Q Local Address           Foreign Address         State       PID/Program name    
tcp        0      0 0.0.0.0:3306            0.0.0.0:*               LISTEN      10439/mysqld        
tcp        0      0 0.0.0.0:8080            0.0.0.0:*               LISTEN      33484/nginx: master 
tcp        0      0 0.0.0.0:22              0.0.0.0:*               LISTEN      1054/sshd           
tcp        0      0 127.0.0.1:25            0.0.0.0:*               LISTEN      2484/master         
tcp        0      0 0.0.0.0:10050           0.0.0.0:*               LISTEN      76482/zabbix_agentd 
tcp        0      0 0.0.0.0:10051           0.0.0.0:*               LISTEN      34572/zabbix_server 
tcp        0      0 127.0.0.1:199           0.0.0.0:*               LISTEN      11143/snmpd         
tcp6       0      0 :::80                   :::*                    LISTEN      10546/httpd         
tcp6       0      0 :::22                   :::*                    LISTEN      1054/sshd           
tcp6       0      0 ::1:25                  :::*                    LISTEN      2484/master         
tcp6       0      0 :::10050                :::*                    LISTEN      76482/zabbix_agentd 
tcp6       0      0 :::10051                :::*                    LISTEN      34572/zabbix_server 
tcp6       0      0 :::10052                :::*                    LISTEN      13465/java     

10052 zabbix-java-gateway默认端口已经起来了!
  它是一个java应用,需要安装jdk

[root@linux-node1 ~]# ps -aux|grep java
root      13465  0.4  3.4 2248944 34060 ?       Sl   19:17   0:01 java -server -Dlogback.configurationFile=/etc/zabbix/zabbix_java_gateway_logback.xml -classpath lib:lib/android-json-4.3_r3.1.jar:lib/logback-classic-0.9.27.jar:lib/logback-core-0.9.27.jar:lib/slf4j-api-1.6.1.jar:bin/zabbix-java-gateway-3.0.4.jar -Dzabbix.pidFile=/var/run/zabbix/zabbix_java.pid -Dzabbix.timeout=3 -Dsun.rmi.transport.tcp.responseTimeout=3000 com.zabbix.gateway.JavaGateway
root      13584  0.0  0.0 112648   972 pts/0    S+   19:21   0:00 grep --color=auto java

5、通知zabbix-server
  我们需要通知zabbix-server,java-gateway在哪里
修改配置文件

[root@linux-node1 ~]# vim /etc/zabbix/zabbix_server.conf 
编辑zabbix-server来指定zabbix-java-gateway
JavaGateway=192.168.56.11     #IP地址是安装java-gateway的服务器
# JavaGatewayPort=10052       端口,默认就可以
StartVMwareCollectors=5     预启动多少个进程[zabbix--->java-gateway的数量]

6、重启zabbix-server

[root@linux-node1 ~]# systemctl restart zabbix-server.service

7、准备apache
我们安装tomcat-8版本
官网:http://tomcat.apache.org
下载软件包

[root@linux-node2 src]# wget http://mirror.bit.edu.cn/apache/tomcat/tomcat-8/v8.5.5/bin/apache-tomcat-8.5.5.tar.gz

我们将tomcat安装在apache服务器上,来模拟监控jvm

[root@linux-node2 src]# tar xf apache-tomcat-8.5.5.tar.gz 
[root@linux-node2 src]# mv apache-tomcat-8.5.5 /usr/local/
[root@linux-node2 src]# ln -s /usr/local/apache-tomcat-8.5.5/ /usr/local/tomcat
[root@linux-node2 src]# yum install -y java-1.8.0    #tomcat 需要在java环境运行
[root@linux-node2 src]# /usr/local/tomcat/bin/startup.sh 
Using CATALINA_BASE:   /usr/local/tomcat
Using CATALINA_HOME:   /usr/local/tomcat
Using CATALINA_TMPDIR: /usr/local/tomcat/temp
Using JRE_HOME:        /usr
Using CLASSPATH:       /usr/local/tomcat/bin/bootstrap.jar:/usr/local/tomcat/bin/tomcat-juli.jar
Tomcat started.

在web2上面查看运行状态

[root@linux-node2 src]# netstat -lntup
Active Internet connections (only servers)
Proto Recv-Q Send-Q Local Address           Foreign Address         State       PID/Program name    
tcp        0      0 0.0.0.0:22              0.0.0.0:*               LISTEN      1073/sshd           
tcp        0      0 127.0.0.1:25            0.0.0.0:*               LISTEN      2498/master         
tcp        0      0 0.0.0.0:10050           0.0.0.0:*               LISTEN      10088/zabbix_agentd 
tcp6       0      0 :::8080                 :::*                    LISTEN      25750/java          
tcp6       0      0 :::22                   :::*                    LISTEN      1073/sshd           
tcp6       0      0 ::1:25                  :::*                    LISTEN      2498/master         
tcp6       0      0 :::10050                :::*                    LISTEN      10088/zabbix_agentd 
tcp6       0      0 127.0.0.1:8005          :::*                    LISTEN      25750/java          
tcp6       0      0 :::8009                 :::*                    LISTEN      25750/java  

Zabbix 3.0 生产实战 [二]
JMX三种类型:
  1.无密码认证
  2.用户面密码认证
  3.ssl

开启JMX远程监控
官方文档:http://tomcat.apache.org/tomcat-8.0-doc/monitoring.html
我们创建一个无密码认证

[root@linux-node2 src]# vim /usr/local/tomcat/bin/catalina.sh 
 CATALINA_OPTS="$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  #用户密码验证关闭
  -Djava.rmi.server.hostname=192.168.56.12"        #监控的主机

修改完成后重启tomcat
可以使用./shutdown.sh 或者使用kill的方式

[root@linux-node2 src]# /usr/local/tomcat/bin/shutdown.sh 
Using CATALINA_BASE:   /usr/local/tomcat
Using CATALINA_HOME:   /usr/local/tomcat
Using CATALINA_TMPDIR: /usr/local/tomcat/temp
Using JRE_HOME:        /usr
Using CLASSPATH:       /usr/local/tomcat/bin/bootstrap.jar:/usr/local/tomcat/bin/tomcat-juli.jar
中间可以使用px -aux|grep java  查看是否被杀死
[root@linux-node2 src]# /usr/local/tomcat/bin/startup.sh 
Using CATALINA_BASE:   /usr/local/tomcat
Using CATALINA_HOME:   /usr/local/tomcat
Using CATALINA_TMPDIR: /usr/local/tomcat/temp
Using JRE_HOME:        /usr
Using CLASSPATH:       /usr/local/tomcat/bin/bootstrap.jar:/usr/local/tomcat/bin/tomcat-juli.jar
Tomcat started.

我们JMX端口设置为8888

root@linux-node2 src]# netstat -lntup|grep "8888"
Active Internet connections (only servers)
Proto Recv-Q Send-Q Local Address           Foreign Address         State       PID/Program name
tcp6       0      0 :::8888                 :::*                    LISTEN      26226/java

我们可以在windows上面安装jdk ,使用命令行来监控java
Zabbix 3.0 生产实战 [二]
我们下载安装,具体步骤不说了,然后我们找到jconsole.exe文件运行
Zabbix 3.0 生产实战 [二]
填写安装JMX的服务器
Zabbix 3.0 生产实战 [二]
因为在配置文件中我们设置的是无密码认证,所以这里不需要输入密码直接连接。端口号我们设置的是8888连接即可
Zabbix 3.0 生产实战 [二]
这样我们就可以在图形化监控tomcat
Zabbix 3.0 生产实战 [二]
提示:按照现在观察,java-gateway已经安装成功,我们可以加入到zabbix中
  找我们要添加的主机
Zabbix 3.0 生产实战 [二]
Zabbix 3.0 生产实战 [二]
填写安装java-gateway的主机
Zabbix 3.0 生产实战 [二]
我们还需要设置一个模板
Zabbix 3.0 生产实战 [二]
这个模板就是我们自带的一个监控JMX的模板,然后我们点击Update.更新
Zabbix 3.0 生产实战 [二]
我们需要等待一会才可以出图

提示:可以在Zabbix-server上使用zabbix-get获取某一台机器的某一个key
效果图如下:需要等待一会
Zabbix 3.0 生产实战 [二]
手动检测监控状态
Zabbix-Server操作:

[root@linux-node1 ~]# yum install -y zabbix-get

Zabbix 3.0 生产实战 [二]
Zabbix 3.0 生产实战 [二]

[root@linux-node1 ~]# zabbix_get -s 192.168.56.12 -k jmx["java.lang:type=Runtime",Uptime]
ZBX_NOTSUPPORTED: Unsupported item key.

提示:未支持的key,现在并不能获取到这个key 因为没有获取到这个值,所以不会显示。我们可以获取别的试一下

[root@linux-node1 ~]# zabbix_get -s 192.168.56.12 -k system.cpu.util[,user]
0.079323
[root@linux-node1 ~]# zabbix_get -s 192.168.56.12 -k system.cpu.util[,user]
0.075377
[root@linux-node1 ~]# zabbix_get -s 192.168.56.12 -k system.cpu.util[,user]
0.075377
[root@linux-node1 ~]# zabbix_get -s 192.168.56.12 -k system.cpu.util[,user]
0.073547

小结: Zabbix其实就是通过zabbix_get 获取到的这个值进行比较的

zabbix日志等级配置

开启zabbix debug模式

[root@linux-node2 tomcat]# systemctl restart zabbix-agent
### Option: DebugLevel
#       Specifies debug level:
#       0 - basic information about starting and stopping of Zabbix processes
#       1 - critical information
#       2 - error information
#       3 - warnings
#       4 - for debugging (produces lots of information)
#       5 - extended debugging (produces even more information)
DebugLevel=4

如果及别是4就是debug模式,修改完配置文件之后需要重启生效

  • QQ精品交流群
  • weinxin
  • 微信公众号
  • weinxin
广告也精彩
admin

发表评论

:?: :razz: :sad: :evil: :!: :smile: :oops: :grin: :eek: :shock: :???: :cool: :lol: :mad: :twisted: :roll: :wink: :idea: :arrow: :neutral: :cry: :mrgreen: