(10)监控mysql:

1)安装mariadb-server:

[root@slave-node1 ~]# yum install mariadb-server

[root@slave-node1 ~]# systemctl start mariadb

[root@slave-node1 ~]# systemctl enable mariadb

[root@slave-node1 ~]# mysql_secure_installation

2)创建监控使用的用户:

[root@slave-node1 ~]# mysql -uroot -p123456

MariaDB [(none)]> grant select on *.* to zabbix@"localhost" identified by "123456";

Query OK, 0 rows affected (0.00 sec)

MariaDB [(none)]> flush privileges;

Query OK, 0 rows affected (0.00 sec)

MariaDB [(none)]> exit;

Bye

3)修改监控脚本:

[root@slave-node1 ~]# egrep -v "^#|^$" /etc/zabbix/zabbix_agentd.d/userparameter_mysql.conf

UserParameter=mysql.status[*],echo "show global status where Variable_name='$3';" | HOME=/var/lib/zabbix mysql -u$1 -p$2 -N | awk '{print $$2}'

UserParameter=mysql.size[*],bash -c 'echo "select sum($(case "$3" in both|"") echo "data_length+index_length";; data|index) echo "$3_length";; free) echo "data_free";; esac)) from information_schema.tables$([[ "$1" = "all" || ! "$1" ]] || echo " where table_schema=\"$1\"")$([[ "$2" = "all" || ! "$2" ]] || echo "and table_name=\"$2\"");" | HOME=/var/lib/zabbix mysql -N'

UserParameter=mysql.ping[*],HOME=/var/lib/zabbix mysqladmin -u$1 -p$2 ping | grep -c alive

UserParameter=mysql.version[*],mysql -u$1 -p$2 -V

4)重启zabbix-agent服务:

[root@slave-node1 ~]# systemctl restart zabbix-agent.service

5)本地测试:

[root@slave-node1 ~]# zabbix_get -s 172.16.1.91 -k mysql.status[zabbix,123456,Uptime]

1931

6)在zabbix-web中修改mysql监控模板:

A、

B、修改宏:

说明:该模板代表的是默认值,即传入监控脚本中$1、$2的值,在主机监控中可以被覆盖;

C、修改监控项:

7)在装有mysql的监控主机中添加mysql监控模板:

8)查看mysql检测是否已经启用:

9)查看mysql最新监测数据:

(11)创建tcp监控模板:

1)tcp的十一种状态:

[root@slave-node1 ~]# man netstat

stat

ESTABLISHED

套接字已建立连接。

SYN_SENT

套接字正在主动尝试建立连接。

SYN_RECV

已从网络接收连接请求。

FIN_WAIT1

插座已关闭,连接正在关闭。

FIN_WAIT2

连接已关闭,套接字正在等待远程端关闭。

TIME_WAIT

套接字在关闭后等待处理仍在网络中的数据包。

CLOSE

未使用套接字。

CLOSE_WAIT

远程端已关闭,等待套接字关闭。

LAST_ACK

远程端已关闭,插座已关闭。等待确认。

LISTEN

套接字正在侦听传入连接。除非指定--listening(-l)或--all(-a)选项,否则此类套接字不包含在输出中。

CLOSING

两个套接字都关闭了,但我们仍然没有发送所有数据。

UNKNOWN

套接字的状态未知。

说明:netstat -n -p|grep SYN_REC | wc -l

这个命令可以查找出当前服务器有多少个活动的 SYNC_REC 连接。正常来说这个值很小,最好小于5;

2)编写监控脚本:

[root@slave-node1 ~]# cat /etc/zabbix/zabbix_agentd.d/tcp_status.conf

UserParameter=tcp_status[*],netstat -ant | grep -c $1

3)重启zabbix-agent:

[root@slave-node1 ~]# systemctl restart zabbix-agent.service

4)本地测试:

[root@slave-node1 ~]# zabbix_get -s 172.16.1.91 -k tcp_status[ESTABLISHED]

3

5)在zabbix-web中创建tcp监控模板:

A、

B、

C、创建item监控项:

a、

b、

c、

说明:在创建监控项的时候可以使用克隆实现监控项的快速增加;

6)将模板加入到监控的主机中:

7)查看tcp_status监控模板的监控项的启用状态:

8)查看监控主机最新的tcp状态数据:

(12)监控nginx:

1)安装nginx:

[root@slave-node1 ~]# yum install nginx -y

2)停止httpd服务释放出80端口:

[root@slave-node1 ~]# systemctl stop httpd

3)修改nginx的配置文件:

[root@slave-node1 ~]# vim /etc/nginx/nginx.conf

location /nginx_status {

stub_status on;

access_log off;

allow 127.0.0.1;

deny all;

}

4)检查配置:

[root@slave-node1 ~]# nginx -t

nginx: the configuration file /etc/nginx/nginx.conf syntax is ok

nginx: configuration file /etc/nginx/nginx.conf test is successful

5)启动nginx并加入到开机自启动中:

[root@slave-node1 ~]# systemctl start nginx

[root@slave-node1 ~]# systemctl enable nginx

6)测试:

[root@slave-node1 ~]# curl -I http://127.0.0.1/nginx_status

HTTP/1.1 200 OK

Server: nginx/1.12.2

Date: Thu, 04 Jul 2019 07:38:04 GMT

Content-Type: text/plain

Connection: keep-alive

7)编写监控脚本:

[root@slave-node1 ~]# vim /etc/zabbix/zabbix_agentd.conf

Include=/etc/zabbix/zabbix_agentd.d/*.conf

[root@slave-node1 ~]# systemctl restart zabbix-agent.service

[root@slave-node1 ~]# vim /etc/zabbix/zabbix_agentd.d/nginx_status.sh

#!/bin/sh

export PATH=/usr/local/sbin:/usr/local/bin:/usr/sbin:/usr/bin:/root/bin

status_number=`curl -I http://127.0.0.1/nginx_status 2>/dev/null | grep 200 | wc -l`

if [ $status_number -eq 1 ]; then

echo "1"

else

echo "0"

fi

[root@slave-node1 ~]# chmod +x /etc/zabbix/zabbix_agentd.d/nginx_status.sh

[root@slave-node1 ~]# vim /etc/zabbix/zabbix_agentd.d/nginx_status.conf

UserParameter=nginx_status,/etc/zabbix/zabbix_agentd.d/nginx_status.sh

[root@controller-node1 ~]# zabbix_get -s 172.16.1.91 -k nginx_status

1

8)添加监控项:

9)查看监控项的状态:

(13)jmx(java管理扩展)监控:

1)下载tomcat和jdk:

[root@slave-node1 ~]# mkdir -p /tools/

[root@slave-node1 ~]# cd /tools/

JDK下载:http://www.oracle.com/technetwork/java/javase/downloads/jdk8-downloads-2133151.html

Tomcat下载:https://tomcat.apache.org/download-80.cgi

2)安装jdk:

[root@slave-node1 tools]# rpm -ivh jdk-8u202-linux-x64.rpm

[root@slave-node1 tools]# java -version

java version "1.8.0_202"

Java(TM) SE Runtime Environment (build 1.8.0_202-b08)

Java HotSpot(TM) 64-Bit Server VM (build 25.202-b08, mixed mode)

3)安装tomcat:

[root@slave-node1 tools]# tar -xzf apache-tomcat-8.5.37.tar.gz

[root@slave-node1 tools]# mkdir -p /application/

[root@slave-node1 tools]# cp -a apache-tomcat-8.5.37/ /application/

[root@slave-node1 tools]# ln -s /application/apache-tomcat-8.5.37/ /application/tomcat

[root@slave-node1 tools]# /application/tomcat/bin/startup.sh

Using CATALINA_BASE: /application/tomcat

Using CATALINA_HOME: /application/tomcat

Using CATALINA_TMPDIR: /application/tomcat/temp

Using JRE_HOME: /usr

Using CLASSPATH: /application/tomcat/bin/bootstrap.jar:/application/tomcat/bin/tomcat-juli.jar

Tomcat started.

#访问:http://172.16.1.91:8080/

4)安装zabbix-gateway:

#说明:

因为zabbix-server是用c语言写的,tomcat是用java写的,所以监控的时候,zabbix-server会去连zabbix-gateway,然后

zabbix-gateway再去连接jmx;zabbix-gateway可以装在任何一台服务器上,但是需要有jdk环境;

#下载zabbix-gateway:

[root@slave-node1 tools]# wget https://mirrors.tuna.tsinghua.edu.cn/zabbix/zabbix/4.0/rhel/7/x86_64/zabbix-java-gateway-4.0.0-2.el7.x86_64.rpm

#安装:

[root@slave-node1 tools]# yum localinstall zabbix-java-gateway-4.0.0-2.el7.x86_64.rpm -y

[root@slave-node1 tools]# rpm -qa | grep zabbix-java-gateway

zabbix-java-gateway-4.0.0-2.el7.x86_64

#配置zabbix-gateway参数(部分修改):

[root@slave-node1 ~]# vim /etc/zabbix/zabbix_java_gateway.conf

LISTEN_IP="172.16.1.91"

LISTEN_PORT=10052

#启动zabbix-java-gateway并加入到开机自启动:

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

[root@slave-node1 ~]# systemctl enable zabbix-java-gateway.service

[root@slave-node1 ~]# netstat -tunlp | grep 10052

tcp6 0 0 172.16.1.91:10052 :::* LISTEN 72819/java

#在zabbix-server中配置连接zabbix-java-gateway(部分修改):

[root@controller-node1 ~]# vim /etc/zabbix/zabbix_server.conf

JavaGateway=172.16.1.91

JavaGatewayPort=10052

StartJavaPollers=5

#重启zabbix-server:

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

5)修改tomcat配置参数(部分修改):

[root@slave-node1 tools]# vim /application/tomcat/bin/catalina.sh

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

CATALINA_OPTS="-Dcom.sun.management.jmxremote \

-Dcom.sun.management.jmxremote.port=12345 \

-Dcom.sun.management.jmxremote.authenticate=false \

-Dcom.sun.management.jmxremote.ssl=false \

-Djava.rmi.server.hostname=172.16.1.91"

#修改主机解析:

[root@slave-node1 tools]# vim /etc/hosts

172.16.1.91 slave-node1

#参数说明:

启用远程监控JMX;

默认启动的JMX端口号,要和zabbix添加主机时候的端口一致即可;

不使用用户名密码;

不使用ssl认证;

主机名,tomcat主机自己的IP地址,不要写zabbix服务器的地址;

6)重启tomcat:

[root@slave-node1 tools]# /application/tomcat/bin/shutdown.sh

[root@slave-node1 tools]# /application/tomcat/bin/startup.sh

[root@slave-node1 tools]# netstat -tunlp | egrep "12345|8080"

tcp6 0 0 :::8080 :::* LISTEN 39359/java

tcp6 0 0 :::12345 :::* LISTEN 39359/java

7)在windows中通过JConsole进行调试:

#在windows 中安装jdk;

#启动JConsole:

#连接:

#连接后会提示不安全的连接,直接点击;

8)监控测试:

#下载测试所需jar包:

[root@slave-node1 tools]# wget https://cucc.file.qiansw.com:1443/2017/06/cmdline-jmxclient-0.10.3.jar

#内存监控测试:

[root@slave-node1 tools]# java -jar cmdline-jmxclient-0.10.3.jar - 172.16.1.91:12345 java.lang:type=Memory

Attributes:

ObjectPendingFinalizationCount: ObjectPendingFinalizationCount (type=int)

HeapMemoryUsage: HeapMemoryUsage (type=javax.management.openmbean.CompositeData)

NonHeapMemoryUsage: NonHeapMemoryUsage (type=javax.management.openmbean.CompositeData)

Verbose: Verbose (type=boolean)

ObjectName: ObjectName (type=javax.management.ObjectName)

Operations:

gc: gc

Parameters 0, return type=void

[root@slave-node1 tools]# java -jar cmdline-jmxclient-0.10.3.jar - 172.16.1.91:12345 java.lang:type=Memory HeapMemoryUsage

07/09/2019 23:51:15 +0800 org.archive.jmx.Client HeapMemoryUsage:

committed: 158334976

init: 132120576

max: 1857028096

used: 18561368

[root@slave-node1 tools]# java -jar cmdline-jmxclient-0.10.3.jar - 172.16.1.91:12345 Catalina:type=GlobalRequestProcessor,name=\"http-nio-8080\" requestCount

07/10/2019 14:27:48 +0800 org.archive.jmx.Client requestCount: 0

9)通过zabbix进行监控:

A、创建监控主机:

a、

b、

c、

B、修改监控项:

因为添加的tomcat监控模板中的监控项中有和现有tomcat监控项不匹配的,所以需要修改监控项;

(14)监控windows:

1)创建一个windows虚拟机,虚拟机的ip地址为172.16.1.201/24,为了方便这里关闭该windows虚拟机的防火墙

如果不关闭的防火墙的话需要修改防火墙配置并开启相应的端口号,zabbix-agent的tcp端口号是10050,snmp的udp端口号是161;

2)使用zabbix-agent监控windows:

A、下载zabbix的源码包:

https://www.zabbix.com/downloads/4.0.7/zabbix_agents-4.0.7-win-i386.zip

B、将包上传到windows系统中,并改成如下形式进行存放:

C、修改zabbix_agentd.conf配置文件内容如下(部分修改):

LogFile=C:\zabbix\zabbix_agentd.log

Server=172.16.1.90

ListenPort=10050

ListenIP=172.16.1.201

StartAgents=3

Timeout=30

D、安装zabbix-agent:

#以管理员的身份运行cmd命令:

#安装:

C:\Windows\system32>cd c:\zabbix

c:\zabbix>zabbix_agentd.exe -c zabbix_agentd.conf -i

zabbix_agentd.exe [1196]: service [Zabbix Agent] installed successfully

zabbix_agentd.exe [1196]: event source [Zabbix Agent] installed successfully

#启动服务:

c:\zabbix>zabbix_agentd.exe -c zabbix_agentd.conf -s

zabbix_agentd.exe [2324]: service [Zabbix Agent] started successfully

#查看端口号:

c:\zabbix>netstat -an

TCP 172.16.1.201:10050 0.0.0.0:0 LISTENING

#查看服务:

E、测试:

[root@controller-node1 ~]# zabbix_get -s 172.16.1.201 -k agent.ping

1

[root@controller-node1 ~]# zabbix_get -s 172.16.1.201 -k system.hostname

WIN-64NVQJTN0V1

F、在zabbix-web中将创建windows主机:

a、

b、

c、

d、

3)使用snmp监控windows:

A、在windows中开启snmp功能:

B、查看snmp服务端口号:

C:\Users\lc>netstat -an

UDP 0.0.0.0:161 *:*

C、配置snmp安全陷阱:

说明:如果snmp server的属性中没有"安全选项卡"可以重启windows;

D、验证:

#安装net-snmp-utils软件:

[root@controller-node1 ~]# yum -y install net-snmp-utils

补充:下载net-snmp-utils离线包的地址:

http://mirror.centos.org/centos/7/os/x86_64/Packages/net-snmp-utils-5.7.2-37.el7.x86_64.rpm

#连接验证:

[root@controller-node1 ~]# snmpwalk -c liuchang -v 2c 172.16.1.201

[root@controller-node1 ~]# snmpwalk -c liuchang -v 2c 172.16.1.201 hrMemory

HOST-RESOURCES-MIB::hrMemorySize.0 = INTEGER: 4193784 KBytes

E、在zabbix-web中添加windows主机:

a、

b、

c、

d、

e、

(15)使用percona监控mysql数据库:

略:

(16)监控交换机:

1)在交换机上创建ip地址和团体名:

system config

interface fastEthernet 0/0

ip address 172.16.1.201 255.255.255.0

snmp-server community liuchang ro

2)在控制主机上进行验证:

yum install net-snmp-utils.x86_64

snmpwalk -c liuchang -v 2c 172.16.1.90

说明:该测试命令在任意的主机上都可以进行测试,但只有zabbix_server才能够处理;

2)在zabbix-web界面中配置交换机snmp监控主机;

9、小结:

(1)相对于zabbix-agent来说,zabbix-agent 默认是被动的模式,由 zabbix-server 询问 zabbix-agent,本章使用的是zabbix-agent的被动模式;

(2)清空zabbix-server缓存的命令:

zabbix_server -R config_cache_reload

此命令在实际的生产环境中最好不要使用;

(3)使用特殊符号:

UnsafeUserParameters=1(默认为0表示不开启);

(4)zabbix-server连接超时,修改超时参数Timeout(默认Timeout=4);

(5)设置触发器依赖以防止某个服务挂掉后,依赖其的服务全部报警;

(6)zabbix升级:

1)

从网上下载的zabbix模板,因为模板的版本比较旧,当在比较新的zabbix版本上导入后可能会导致

模板不能够使用,所以需要在虚拟机上安装2.2版本的zabbix后打上快照(以备后期升级模板时使用),将模

板导入到2.2版本的zabbix上;

2)停止zabbix-server:

systemctl stop zabbix-server.service

3)备份数据库:

4)停止数据库:

systemctl stop mariadb.service

5)更换最新的zabbix yum 源仓库:

6)安装zabbix服务:

yum install zabbix-server-mysql zabbix-web-mysql -y

7)启动数据库:

systemctl start mariadb.service

8)启动zabbix-server:

systemctl start zabbix-server.service -y

9)导出模板并导入到线上的模板;

(8)zabbix忘记登陆密码的解决办法:

use zabbix

update users set passwd='5fce1b3e34b520afeffb37ce08c7cd66' where userid='1';

"zabbix"对应的MD5是"5fce1b3e34b520afeffb37ce08c7cd66",所以修改后zabbix Admin用户的登录密码为"zabbix"

9.4、安装zabbix(3)的更多相关文章

  1. Centos 源码安装zabbix 2.4.5

    Zabbix简介 Zabbix是一个基于WEB界面的提供分布式系统监视以及网络监视功能的企业级的开源解决方案.zabbix能监视各种网络参数,保证服务器系统 的安全运营:并提供柔软的通知机制以让系统管 ...

  2. 编译安装zabbix 3.0及分开部署配置详解

    实验系统:CentOS 6.6_x86_64 实验前提:提前准备好编译环境,防火墙和selinux都关闭 实验说明:本实验共有4台主机,IP及角色分配如拓扑 下载地址:试验中用到mariadb软件的下 ...

  3. CentOS7:安装Zabbix

    参考:CentOS 7 yum安装Zabbix 1. 安装Zabbix Server EPEL源里面有Zabbix的安装包,所以需要先安装EPEL. Zabbix源也可以从这里获得:http://re ...

  4. 使用Linux碎解三_CentOS7搭建Lamp环境安装zabbix遇到的问题

    问题一:  执行不了 yum命令 解决方案:配置系统的DNS(详细参见碎解二) 问题二:  make 命令的时候,出现错误 提示 和没有gcc大体相关 解决方案:yum install gcc (在网 ...

  5. CentOS 7.2安装Zabbix 3.2全攻略

    放在最前面:鉴于网上爬虫猖獗,博客被盗时有发生,这里需要来个链接,大家请认准来自博客园的Scoter:http://www.cnblogs.com/scoter2008 1.安装环境:VMware虚拟 ...

  6. CentOS-6.5安装zabbix 3.0.4

    关闭selinux [root@localhost /]# sed -i "s#SELINUX=enforcing#SELINUX=disabled#g" /etc/selinux ...

  7. CentOS 7 yum安装Zabbix

    一.Zabbix简介 zabbix是一个基于WEB界面的提供分布式系统监视以及网络监视功能的企业级的开源解决方案.zabbix能监视各种网络参数,保证服务器系统的安全运营:并提供灵活的通知机制以让系统 ...

  8. 源码安装zabbix

    源码安装zabbix 作者:尹正杰 版权声明:原创作品,谢绝转载!否则将追究法律责任.     欢迎加入:高级运维工程师之路 598432640 前言:参考网上多篇源码安装的连接,自己把安装过程丢在这 ...

  9. ubuntu 14.10 安装 zabbix

    在ubuntu 14.10 上部署 zabbix 2.x 基本软件包安装 既然是ubuntu系统,当然要用好apt-get神器. 参考教程 URL:http://blog.csdn.net/cloud ...

  10. 安装zabbix

    安装zabbix 1. 准备好lamp架构(安装好mysql,php) 2.在数据库中授权: MariaDB [(none)]> create database zabbix charset u ...

随机推荐

  1. Job for ssh.service failed because the control process exited with error code. See "systemctl status ssh.service" and "journalctl -xe" for details.

    1.按照提示 systemctl status ssh.service 查看报错原因 sshd -t 2.结果 /etc/ssh/sshd_config line 34: missing argume ...

  2. 如何对你的Linux系统进行基准测试: 3开源基准测试工具

    如何对你的Linux系统进行基准测试: 3开源基准测试工具   0 赞0 评论 文章标签:SYS  Source  benchmark  tool  开源  基准  系统     linux实用程序的 ...

  3. nginx 日志管理配置详解

    nginx的日志管理 log_format main '$remote_addr - $remote_user [$time_local] "$request" ' '$statu ...

  4. 七牛云-上传、删除文件,工具类(Day49)

    要求: 1. java1.8以上 2. Maven: 这里的version指定了一个版本范围,每次更新pom.xml的时候会尝试去下载7.5.x版本中的最新版本,你可以手动指定一个固定的版本. < ...

  5. systemverilog数组类型

  6. 重新整理 .net core 实践篇—————配置系统之间谍[八](文件监控)

    前言 前文提及到了当我们的配置文件修改了,那么从 configurationRoot 在此读取会读取到新的数据,本文进行扩展,并从源码方面简单介绍一下,下面内容和前面几节息息相关. 正文 先看一下,如 ...

  7. synchronized 的超多干货!

    前言 synchronized 这个关键字的重要性不言而喻,几乎可以说是并发.多线程必须会问到的关键字了.synchronized 会涉及到锁.升级降级操作.锁的撤销.对象头等.所以理解 synchr ...

  8. Win10 安装 Python3 (上)

    Python3 For Windows 10 installer 参考 The full installer 安装 随后可以看到,installer 在用户环境变量PATH中,添加了三项: 卸载 使用 ...

  9. AIoT 2020 年分析

    AIoT 2020 年分析 2020年,从智能手机到智能手表,从智能摄像头到智能汽车,随着AI.芯片.云计算.通信等基础技术的逐渐成熟,又一个行业来到了历史性的时刻--AIoT. 从"万物互 ...

  10. 语义分割:基于openCV和深度学习(二)

    语义分割:基于openCV和深度学习(二) Semantic segmentation in images with OpenCV 开始吧-打开segment.py归档并插入以下代码: Semanti ...