当前位置:   article > 正文

zabbix详解(感觉作者写的有点乱,但是很详细,所以转载下来,用过zabbix一段时间后复习用)_zabbix模板详解 uptime ping los

zabbix模板详解 uptime ping los

目录

 

反回顶部

1.zabbix监控

 

zabbix/nagios + cacti/Prometheus(普罗米修斯) 

- 安装软件(统一环境:LA(Apache)MP、LNMP)yum一键安装LAMP

- Apache(西方)nginx(俄罗斯)

- zabbix 3.0 LTS (长期支持版本)

 

- zabbix常规使用

- 监控Linux服务器

- 自定义监控

- 监控报警

- 分布式监控

- 。。。。

反回顶部

2. 环境准备

    zabbix 10.0.0.71 172.16.1.71

第一步:准备新的zabbix机器,环境检查如下:

[root@zabbix ~]# cat /etc/redhat-release

CentOS release 6.9 (Final)

[root@zabbix ~]# uname -r

2.6.32-696.el6.x86_64

[root@zabbix ~]# hostname -I

10.0.0.71 172.16.1.71

[root@zabbix ~]# getenforce

Disabled

[root@zabbix ~]# /etc/init.d/iptables status

iptables: Firewall is not running.

[root@zabbix ~]# ll -d /tmp ##1777

drwxrwxrwt. 3 root root 4096 Oct 10 09:17 /tmp

 

第二步:下载软件包:

zabbix3.0.15_yum.tar.gz(备用)

 

反回顶部

3. 监控职责

1.保障企业数据的安全可靠。

2.为客户提供7*24小时服务。

3.不断提升用户的体验。

4. 通过命令监控

4.1 如果想远程管理服务器就有远程管理卡,比如Dell idRAC,HP ILO,IBM IMM

4.2 查看硬件的温度/风扇转速,电脑有撸大师,服务器就有ipmitool。使用ipmitool实现对服务器的命令行远程管理

yum -y install OpenIPMI ipmitool  #->IPMI在物理机可以成功,虚拟机不行

[root@KVM ~]# ipmitool sdr type Temperature

Temp             | 01h | ns  |  3.1 | Disabled

Temp             | 02h | ns  |  3.2 | Disabled

Temp             | 05h | ns  | 10.1 | Disabled

Temp             | 06h | ns  | 10.2 | Disabled

Ambient Temp     | 0Eh | ok  |  7.1 | 22 degrees C

Planar Temp      | 0Fh | ns  |  7.1 | Disabled

IOH THERMTRIP    | 5Dh | ns  |  7.1 | Disabled

CPU Temp Interf  | 76h | ns  |  7.1 | Disabled

Temp             | 0Ah | ns  |  8.1 | Disabled

Temp             | 0Bh | ns  |  8.1 | Disabled

Temp             | 0Ch | ns  |  8.1 | Disabled

 

负载主要反映 cpu,磁盘IO    跟内存没关系

 

4.4 想知道了cpu性能好不好、忙不忙可以用lscpu、uptime、top、htop、vmstat、mpstat。

lscpu 查看cpu的信息,比如cpu的核数 (CPU(s):1)

 

[root@zabbix ~]# uptime(w)

10:07:47 up 50 min,  3 users,  load average: 0.00, 0.00, 0.00

当前系统时间 up 运行时间  3user 登录的用户数  load average 平均负载 1, 5, and 15 minutes

 

最佳负载:过去1分钟的平均负载等于CPU的核数(或者2倍)

怎么判断服务器的负载过高:就是看你的过去1分钟的平均负载是否超过CPU的核数(或者2倍)

 

top 实时动态查看系统负载

 快捷键 z 加颜色  x 高亮显示排序区域  < > 向左,向右切换

 

[root@zabbix ~]# top

top - 10:16:32 up 59 min,  3 users,  load average: 0.00, 0.00, 0.00

# 第一行和uptime一样

Tasks:  74 total,   1 running,  73 sleeping,   0 stopped,   0 zombie

# 第二行 显示当前进程统计信息  zombie 僵尸 僵死进程

Cpu(s):  0.0%us,  0.0%sy,  0.0%ni,100.0%id,  0.0%wa,  0.0%hi,  0.0%si,  0.0%st

# 第三行 cpu的统计信息 %us 用户使用的cpu百分比   %sy 系统使用的cpu百分比   %id (idle) 空闲的cpu百分比

Mem:   1004112k total,   117104k used,   887008k free,     9480k buffers

# 第四行 内存的统计信息

Swap:   786428k total,        0k used,   786428k free,    30700k cached

# 第五行 swap的统计信息

   PID USER      PR  NI  VIRT  RES  SHR S %CPU %MEM    TIME+  COMMAND                                                  

 7 root      20   0     0    0    0 S  0.3  0.0   0:07.67 events/0                                                  

 1 root      20   0 19352 1532 1228 S  0.0  0.2   0:01.10 init                                                      

 2 root      20   0     0    0    0 S  0.0  0.0   0:00.00 kthreadd    

 

htop top命令的进阶版,支持鼠标

yum -y install htop

4.5  内存够不够可以用free、vmstat。

 free -h (CentOS6.5以前的系统free命令没有-h参数,只有-m)

4.6 磁盘剩多少写的快不快可以用df、dd、iotop、iostat。

 

dd if=/dev/zero of=test.data bs=1M count=10

if input file 输入文件   /dev/zero 这是系统的特殊设备,能够源源不断的产生0字符流

 

   of output file 输出设备  

   bs block size 块大小

   count  block块的数量

  

   总结:产生的test.data文件大小 bs * count

   经验:最佳测试磁盘写的速度的测试文件test.data至少大于内存的值

iotop 实时查看系统的io(输入输出)负载

yum -y install iotop

4.7  网络太卡找iftop, nethogs

iftop  查看网卡的流量

iftop默认监控eth0网卡的流量

iftop -i eth1

nethogs  查看每个进程的流量

5. 需要监控什么

cpu负载

内存

磁盘

网络

软件服务

(硬件 温度,风扇)

6. zabbix

一个软件能够实现99%监控。

6.1 服务端安装Zabbix

6.1.1 安装LAMP环境

 

要求php版本在5.4以上

#1. 安装apache

 yum -y install httpd

#2. 安装mysql

 yum -y install mysql-server

 

#3. 安装php5.5 默认的yum源的php版本是5.3

rpm -ivh http://repo.webtatic.com/yum/el6/x86_64/webtatic-release-6-9.noarch.rpm

yum -y install php55w php55w-mysql php55w-common php55w-gd php55w-mbstring php55w-mcrypt php55w-devel php55w-xml php55w-bcmath

#mysql

#common

#gd

#mbstring

#mcrypt

#devel

#xml

#bcmath

 

6.1.2 安装Zabbix软件

 

不使用离线包的安装方法:

rpm -ivh http://repo.zabbix.com/zabbix/3.0/rhel/6/x86_64/zabbix-release-3.0-1.el6.noarch.rpm 

 

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

 yum -y install zabbix-java-gateway wqy-microhei-fonts net-snmp net-snmp-utils -y

 

提前安装的 :

#zabbix-java-gateway :监控tomcat需要的包

#wqy-microhei-fonts : 解决中文乱码的包

#net-snmp net-snmp-utils:snmp服务安装包

6.2 配置zabbix

6.2.1 配置LAMP环境

1. apache的所有配置无需担心,因为zabbix的rpm默认帮我们配置好了apache

2. 配置mysql

\cp /usr/share/mysql/my-medium.cnf /etc/my.cnf

# 启动MySQL    mysql不是二进制安装的

/etc/init.d/mysqld start

# 创建用户并授权

mysql

# 在mysql命令行执行下面的命令 

create database zabbix character set utf8 collate utf8_bin;

grant all on zabbix.* to zabbix@'localhost' identified by 'zabbix';

flush privileges;

exit

# 下面接着在Linux命令行操作    导数据 

 

zcat /usr/share/doc/zabbix-server-mysql-3.0.21/create.sql.gz|mysql -uzabbix -pzabbix zabbix

直接查看压缩包的内容

 

6.2.2. 配置php(/etc/php.ini)

 

# 修改php配置文件

egrep -n "^post_max_size|^max_execution_time|^max_input_time|^date.timezone" /etc/php.ini

 

sed -i.ori 's#max_execution_time = 30#max_execution_time = 300#;s#max_input_time = 60#max_input_time = 300#;s#post_max_size = 8M#post_max_size = 16M#;910a date.timezone = Asia/Shanghai' /etc/php.ini

 

改为

##max_execution_time = 300

##max_input_time = 300

##post_max_size = 16M

##date.timezone = Asia/Shanghai

 

6.2.3 配置zabbix 服务

 

# 修改zabbix_server配置文件

sed -i.ori '115a DBPassword=zabbix' /etc/zabbix/zabbix_server.conf

 

# 网页文件(给我们提供一个web界面进行监控)

mv /usr/share/zabbix/ /var/www/html/

# 文件授权

chmod -R 755 /etc/zabbix/web

chown -R apache.apache /etc/zabbix/web

 

6.3 启动服务

echo "ServerName 127.0.0.1:80">>/etc/httpd/conf/httpd.conf        apache 会解析主机名

/etc/init.d/httpd start

/etc/init.d/zabbix-server start

 

LNMP的php是单独的一个服务,启动9000端口

LAMP的php是apache的一个模块,不需要启动php服务,只需要启动http

加入开机自启动

[root@zabbix ~]# tail -4 /etc/rc.local

/etc/init.d/mysqld start

/etc/init.d/httpd start

/etc/init.d/zabbix-server start

 


6.4 网页完成zabbix安装最后的环节

http://10.0.0.71/zabbix/setup.php

 

用户名:Admin

密码:  zabbix

 

 

 

小问题

安装完总是说zbbix server not runnig 原因SElinux 没有关

[root@zabbix ~]# /etc/init.d/zabbix-server stop

Shutting down Zabbix server: [FAILED]

[root@zabbix ~]# /etc/init.d/zabbix-server status

zabbix_server is stopped

[root@zabbix ~]# /etc/init.d/zabbix-server start

Starting Zabbix server: [ OK ]

[root@zabbix ~]# /etc/init.d/zabbix-server status

zabbix_server is stopped

[root@zabbix ~]# getenforce

Enforcing

[root@zabbix ~]# 

[root@zabbix ~]# setenforce 0

[root@zabbix ~]# getenforce

Permissive

[root@zabbix ~]# /etc/init.d/zabbix-server start

Starting Zabbix server: [ OK ]

[root@zabbix ~]# /etc/init.d/zabbix-server status

zabbix_server (pid 1614) is running...

[root@zabbix ~]# tail -f /var/log/zabbix/zabbix_server.log 

  1635:20180823:115937.436 server #17 started [timer #1]

  1636:20180823:115937.439 server #18 started [http poller #1]

  1645:20180823:115937.465 server #19 started [discoverer #1]

  1646:20180823:115937.476 server #20 started [history syncer #1]

  1647:20180823:115937.478 server #21 started [history syncer #2]

  1648:20180823:115937.478 server #22 started [history syncer #3]

  1649:20180823:115937.492 server #23 started [history syncer #4]

  1650:20180823:115937.493 server #24 started [escalator #1]

  1651:20180823:115937.494 server #25 started [proxy poller #1]

  1652:20180823:115937.496 server #26 started [self-monitoring #1]

接受其他客户端发来的信息

 

 

反回顶部

7. 客户端监控

 


7.1 安装agent客户端程序

 

rpm -ivh http://repo.zabbix.com/zabbix/3.0/rhel/6/x86_64/zabbix-agent-3.0.15-1.el6.x86_64.rpm

 

[root@web01 ~]# rpm -ivh https://mirrors.aliyun.com/zabbix/zabbix/3.0/rhel/6/x86_64/zabbix-agent-3.0.15-1.el6.x86_64.rpm
[root@web01 ~]# rpm -ivh https://mirrors.aliyun.com/zabbix/zabbix/3.0/rhel/6/x86_64/zabbix-agent-3.0.15-1.el6.x86_64.rpm

 

-i install 安装

-v 显示安装过程

-h 显示进度条

 

[root@web01 ~]# egrep '^[a-Z]' /etc/zabbix/zabbix_agentd.conf

PidFile=/var/run/zabbix/zabbix_agentd.pid

LogFile=/var/log/zabbix/zabbix_agentd.log

LogFileSize=0

Server=172.16.1.71

ServerActive=127.0.0.1

Hostname=Zabbix server

Include=/etc/zabbix/zabbix_agentd.d/

[root@web01 ~]# /etc/init.d/zabbix-agent start

Starting Zabbix agent: [ OK ]

[root@web01 ~]# ss -lntup|grep zabbix

tcp LISTEN 0 128 :::10050 :::* users:(("zabbix_agentd",1650,5),("zabbix_agentd",1651,5),("zabbix_agentd",1652,5),("zabbix_agentd",1653,5),("zabbix_agentd",1654,5),("zabbix_agentd",1655,5))

tcp LISTEN 0 128 *:10050 *:* users:(("zabbix_agentd",1650,4),("zabbix_agentd",1651,4),("zabbix_agentd",1652,4),("zabbix_agentd",1653,4),("zabbix_agentd",1654,4),("zabbix_agentd",1655,4))

 

 

7.2 配置zabbix agent

 

sed -i.ori 's#Server=127.0.0.1#Server=172.16.1.71#' /etc/zabbix/zabbix_agentd.conf



 

7.3 启动zabbix agent

 

/etc/init.d/zabbix-agent start

echo "/etc/init.d/zabbix-agent start" >> /etc/rc.local




 

7.4 在web01安装zabbix Agent并正常启动

 

 


 

7.5 网页上添加主机监控

 

主机名称:zabbix程序识别用的名字

可见的名称:给人看,显示在网页上的

群组:同学(主机)与小组(群组)  方便管理

agent代理程序的接口:指定客户端主机的ip地址

 

zabbix 客户端端口

检查客户端是否能够被监控的第一手段:

[root@zabbix ~]# zabbix_get -s 172.16.1.71 -p 10050 -k "system.cpu.load[all,avg1]"

0.000000

[root@zabbix ~]# zabbix_get -s 172.16.1.8 -p 10050 -k "system.cpu.load[all,avg1]"

0.000000


 

[root@zabbix ~]# zabbix_get -s 172.16.1.8 -p 10050 -k "system.cpu.load[all,avg1]"

zabbix_get [6229]: Get value error: cannot connect to [[172.16.1.8]:10050]: [110] Connection timed out

 

[root@zabbix ~]# ping 172.16.1.8

PING 172.16.1.8 (172.16.1.8) 56(84) bytes of data.

From 172.16.1.71 icmp_seq=1 Destination Host Unreachable

From 172.16.1.71 icmp_seq=2 Destination Host Unreachable

From 172.16.1.71 icmp_seq=3 Destination Host Unreachable

解决:zabbix 端的lan区段没有设置


 

zabbix 监控配置 出错的原因

 

zabbix_get [4236]: Get value error: cannot connect to [[172.16.1.71]:10050]: [111] Connection refused

1. zabbix_get [3980]: Get value error: cannot connect to [[172.16.1.9]:10050]: [110] Connection timed out

ip地址不存在或者 防火墙或selinux开启

2. Assuming that agent dropped connection because of access permissions.

配置文件不对,改了没重启

 

 

 

 

 








 

3. 查看监控数据

查看数据与图形

 

解决中文乱码(服务端zabbix操作)

wget -O /etc/yum.repos.d/epel.repo http://mirrors.aliyun.com/repo/epel-6.repo

 

yum -y install wqy-microhei-fonts

 

\cp /usr/share/fonts/wqy-microhei/wqy-microhei.ttc /usr/share/fonts/dejavu/DejaVuSans.ttf

 

看饼图乱码用下面字体  simkai.ttf

[root@zabbix ~]# \cp simkai.ttf /usr/share/fonts/dejavu/DejaVuSans.ttf

 

 


 

流量图的作用:

1. 判断公司业务是否正常  ---正常业务时间流量非常低

2. 为公司购买带宽时提供依据


 

小结:

已经掌握了:

服务端安装,客户端安装

主机监控(cpu,内存,磁盘,网络等模板自带的监控项)

查看监控数据


 

反回顶部

8. 自定义监控

监控zabbix模板没有的功能

 

需求:监控主机的登录用户数量,超过3个人就报警



8.1 agent客户端配置

 

/etc/zabbix/zabbix_agentd.conf和/etc/zabbix/zabbix_agentd.d/目录关系

类似 nginx的nginx.conf与extra目录

 

[root@web01 ~]# tree  /etc/zabbix/

/etc/zabbix/

├── zabbix_agentd.conf                 #conf/nginx.conf

├── zabbix_agentd.conf.ori

└── zabbix_agentd.d                    #conf/extra

    └── userparameter_mysql.conf      

 

   

在/etc/zabbix/zabbix_agentd.conf查看 UserParameter语法如下所示

### Option: UserParameter   自定义监控项

#       User-defined parameter to monitor. There can be several user-defined parameters.

#       Format: UserParameter=<key>,<shell command>

#                              监控项名称,shell命令

#       See 'zabbix_agentd' directory for examples.

#

# Mandatory: no

# Default:

# UserParameter=

 

正式操作如下:

# 在web01执行下面操作

echo "UserParameter=login-user,who|wc -l" >/etc/zabbix/zabbix_agentd.d/userparameter_login.conf

 

/etc/init.d/zabbix-agent restart

 

 

# 在zabbix操作检测

[root@zabbix ~]# zabbix_get -s 172.16.1.8 -p 10050 -k "login-user"

ZBX_NOTSUPPORTED: Unsupported item key.

 

错误原因:

a.真的没有这个监控项,名字写错了;

b.写对了没有重启agent

 

 

正确结果:

[root@zabbix ~]# zabbix_get -s 172.16.1.8 -p 10050 -k "login-user"

3

 

问题1:key是唯一的,不能重复

 

推广:自己在客户端准备好想要执行的命令,然后配置到/etc/zabbix/zabbix_agentd.d/,一重启,服务端就可以获取数据。

实现你想监控什么就能够监控什么。

 


8.2 网页上配置自定义监控项

 

1. 添加模板

 

模板的功能:一处创建,处处使用


2. 添加应用集

给你的监控项归类

每一类的监控类型

 

 


 

3.添加监控项

告诉服务端server你该去哪里获取什么方面数据

趋势,只是预测的大致走势

 


 

4.添加触发器

 

告诉server你该什么时候报警

 

 

 

 

严重性:

警告级别的报警发给初级运维

一般严重级别的报警发给初级运维,中级运维

严重级别的报警发给初级运维,中级运维,高级运维

灾难级别的报警发给初级运维,中级运维,高级运维,总监


 

5.图形

 

给运维出个图

 



 

8.3 使用模板

可以添加多个模板

 

 

 

 

 

 

 



 


 

反回顶部

9.报警

http://www.onealert.com 注册

 

 

1.报警


9.1 报警种类

邮件报警:存在收不到的风险 *

微信报警:通知即时  ***

短信报警

电话报警

APP


9.2 安装报警客户端

[root@zabbix ~]# cd /usr/lib/zabbix/alertscripts

 

wget http://www.onealert.com/agent/release/oneitsm_zabbix_release-1.0.0.tar.gz

 

tar -zxf oneitsm_zabbix_release-1.0.0.tar.gz

cd oneitsm/bin

# 753f148b-cc6f-e2c0-d23a-06b37f3a52ab 这是key,【从注册的官网获取】

bash install.sh 753f148b-cc6f-e2c0-d23a-06b37f3a52ab

 

Zabbix管理地址: http://10.0.0.71/zabbix/

Zabbix管理员账号: Admin

Zabbix管理员密码: zabbix  # 密码不显示,但是还是输入进去

 

 

反回顶部

10. 监控可视化

聚合图形:将同一类型的监控放在一起看,容易对比分析

 

幻灯片:轮流播放聚合图形

 


3. 模板的共享

https://github.com/zhangyao8/zabbix-community-repos

https://share.zabbix.com/

 

导出,导入

 

4. 监控期中架构集群

 

考试目标:使用zabbix将期中架构所有集群监控

 

具体内容:

一、硬件、系统、网络监控

所有集群节点(所有虚拟机)都监控上

 

关键点:

系统监控包括CPU,内存,磁盘,负载,流量

网络监控:主机网卡监控,交换机(路由器)监控

 

上面监控完全可以使用自带的模板实现功能

 

反回顶部

二、应用服务监控

1. 监控备份服务器,简单方法是监控rsync端口,如果有其他更佳方案可以说明;

2. 监控NFS服务器,使用监控NFS进程来判断NFS服务器正常,如果有其他更佳方案可以说明;

3. 监控MySQL服务器,简单方法监控mysql的3306端口

4. 监控2台web服务器,简单方法监控80端口,如果有其他更佳方案可以说明;

5. 监控URL地址来更精确的监控我们的网站运行正常;

6. 监控反向代理服务器

7. 监控Nginx的7种连接状态。



 

 

简单的方法:通过端口号或者进程数量

    服务    端口   进程

Rsync   873    ?

NFS     111?  ?

MySQL   3306   ?

Nginx   80     ?



怎么监控端口?

net.tcp.listen[port]      检查 TCP 端口 是否处于侦听状态。返回 0 - 未侦听;1 - 正在侦听

net.tcp.port[<ip>,port]   检查是否能建立 TCP 连接到指定端口。返回 0 - 不能连接;1 - 可以连接





 

[root@zabbix bin]# zabbix_get -s 172.16.1.8 -p 10050 -k 'net.tcp.listen[80]'

1

[root@zabbix bin]# zabbix_get -s 172.16.1.8 -p 10050 -k 'net.tcp.listen[81]'

0

[root@zabbix bin]# zabbix_get -s 172.16.1.8 -p 10050 -k 'net.tcp.listen[873]'

1

[root@zabbix bin]# zabbix_get -s 172.16.1.8 -p 10050 -k 'net.tcp.port[,80]'

1

[root@zabbix bin]# zabbix_get -s 172.16.1.8 -p 10050 -k 'net.tcp.port[,873]'

1

[root@zabbix bin]# zabbix_get -s 172.16.1.8 -p 10050 -k 'net.tcp.port[873]'

ZBX_NOTSUPPORTED: Invalid second parameter.



怎么监控进程?

proc.num[<name>,<user>,<state>,<cmdline>]进程数。返回整数

 

zabbix_get -s 172.16.1.8 -p 10050 -k 'proc.num[nginx]'


 

 

监控mysql

[root@zabbix bin]# zabbix_get -s 172.16.1.8 -p 10050 -k 'mysql.ping'

sh: mysqladmin: command not found

0

 

 

# 默认yum安装的mysql使用zabbix的自带userparameter_mysql.conf没有任何问题

[root@zabbix ~]# mysql -V

mysql  Ver 14.14 Distrib 5.1.73, for redhat-linux-gnu (x86_64) using readline 5.1

[root@zabbix ~]# mysqladmin ping

mysqld is alive

[root@zabbix ~]# mysqladmin ping | grep -c alive

1

 

# 但是我们自己二进制安装的mysql就报错了

如何排查自定义监控报错:

UserParameter=key,shell command

1. 现在命令行测试你的shell command的结果和你的期望是否一致

[root@web01 ~]# mysqladmin -uroot -poldboy123 ping 2>/dev/null|grep -c alive

1


mysqladmin 路径问题

 

[root@zabbix bin]# zabbix_get -s 172.16.1.8 -p 10050 -k 'mysql.ping'

/application/mysql/bin/mysqladmin: connect to server at 'localhost' failed

error: 'Access denied for user 'root'@'localhost' (using password: NO)'

0

 

这里的路径要写正确,mysql的安装路径,不然命令会报错

[root@web01 ~]# tail -3 /etc/zabbix/zabbix_agentd.d/userparameter_mysql.conf

UserParameter=mysql.ping,HOME=/var/lib/zabbix /application/mysql/bin/mysqladmin -uroot -poldboy123 ping | grep -c alive

UserParameter=mysql.version,mysql -V

UserParameter=login-user,who|wc -l

 

 

[root@web01 ~]# /etc/init.d/zabbix-agent restart

Shutting down Zabbix agent: [ OK ]

Starting Zabbix agent: [ OK ]

 

[root@zabbix bin]# zabbix_get -s 172.16.1.8 -p 10050 -k 'mysql.ping'

Warning: Using a password on the command line interface can be insecure.

1

 

 

[root@web01 ~]# tail -3 /etc/zabbix/zabbix_agentd.d/userparameter_mysql.conf

UserParameter=mysql.ping,HOME=/var/lib/zabbix /application/mysql/bin/mysqladmin -uroot -poldboy123 ping 2>/dev/null| grep -c alive

UserParameter=mysql.version,mysql -V

UserParameter=login-user,who|wc -l

 

 

[root@zabbix bin]# zabbix_get -s 172.16.1.8 -p 10050 -k 'mysql.ping'

1


 

 

 

 

 

2. 将符合预期的shell command写入到我们的自定义监控文件中

UserParameter=mysql.ping,HOME=/var/lib/zabbix mysqladmin ping | grep -c alive

改为

UserParameter=mysql.ping,HOME=/var/lib/zabbix mysqladmin -uroot -poldboy123 ping 2>/dev/null|grep -c alive

 

3. 改完配置文件记住重启生效

4. 在服务端用zabbix_get命令

[root@zabbix ~]# zabbix_get -s 172.16.1.8 -p 10050 -k 'mysql.ping'

0

# 发现命令找不到,返回值为0

使用全路径

UserParameter=mysql.ping,/application/mysql/bin/mysqladmin -uroot -poldboy123 ping 2>/dev/null|grep -c alive

 

[root@zabbix ~]# zabbix_get -s 172.16.1.8 -p 10050 -k 'mysql.ping'

1

 

5. 在网页上添加

Template App MySQL

 

 

 

 

 


教会如何修改其他人给你们的模板(Template App MySQL)及自定义监控配置文件(userparameter_mysql.conf)

 

昨天: 自己写了自定义监控配置文件userparameter_login.conf  添加一个Template login user【监控名】



 

监控url 地址


 

 


 

监控nginx状态:绘图

Nginx的配置

######status#########

server {

listen       127.0.0.1:80;

stub_status on;

access_log off;

}

 

[root@web01 extra]# curl status.lewen.com

Active connections: 1 

server accepts handled requests

 162 162 175 

Reading: 0 Writing: 1 Waiting: 0 

 

[root@web01 ~]# curl -sH Host:status.etiantian.org  10.0.0.8|awk 'NR==1{print $NF}'

1

[root@web01 ~]# curl -sH Host:status.etiantian.org  10.0.0.8|awk 'NR==3{print $1}'

271

[root@web01 ~]# curl -sH Host:status.etiantian.org  10.0.0.8|awk 'NR==3{print $2}'

273

[root@web01 ~]# curl -sH Host:status.etiantian.org  10.0.0.8|awk 'NR==3{print $3}'

275


 

 

 

方法:自定义监控

 

1. key shell command 自定义监控配置文件


 

vim /etc/zabbix/zabbix_agentd.d/userparameter_nginx_status.conf

UserParameter=nginx_active,curl -s  127.0.0.1|awk '/Active/ {print $NF}'

UserParameter=nginx_accepts,curl -s  127.0.0.1|awk 'NR==3 {print $1}'

UserParameter=nginx_handled,curl -s  127.0.0.1|awk 'NR==3 {print $2}'

UserParameter=nginx_requests,curl -s  127.0.0.1|awk 'NR==3 {print $3}'

UserParameter=nginx_reading,curl -s  127.0.0.1|awk 'NR==4 {print $2}'

UserParameter=nginx_writing,curl -s  127.0.0.1|awk 'NR==4 {print $4}'

UserParameter=nginx_waiting,curl -s  127.0.0.1|awk 'NR==4 {print $6}'

 

2. 重启

3. server上zabbix get测试

4. web界面

模板(Template Nginx Status)--应用集(nginx状态)---监控项(7个)---图形(画2张图)

 

 

考试目标:使用zabbix将期中架构所有集群监控

 

具体内容:

一、硬件、系统、网络监控

所有集群节点(所有虚拟机)都监控上

 

关键点:

系统监控包括CPU,内存,磁盘,负载,流量

网络监控:主机网卡监控,交换机(路由器)监控

 

上面监控完全可以使用自带的模板实现功能

 

二、应用服务监控

1. 监控备份服务器,简单方法是监控rsync端口,如果有其他更佳方案可以说明;

2. 监控NFS服务器,使用监控NFS进程来判断NFS服务器正常,如果有其他更佳方案可以说明;

3. 监控MySQL服务器,简单方法监控mysql的3306端口,或者使用zabbix提供的Mysql模板,如果有其他更佳方案可以说明;

4. 监控2台web服务器,简单方法监控80端口,如果有其他更佳方案可以说明;

5. 监控URL地址来更精确的监控我们的网站运行正常;

6. 监控反向代理服务器,PPTP服务器等你在期中架构部署的服务。

7. 监控Nginx的7种连接状态。

 

 

 


 

1. 自动发现与自动注册

 

自动发现:服务端server自动发现局域网中的所有客户端agent(收小弟)

优点:方便找到所有客户端,不会遗漏

缺点:一旦agent过多,server压力山大,每隔一段时间,server都会扫描一遍局域网的所有机器。

自动注册:所有客户端Agent主动去服务端server登记注册一下(小弟上门求收留)

优点:对服务端的压力最低

缺点:配置过程稍微复杂

 

1.1 自动发现

 

1. 客户端agent配置

 

不需要任何配置,只要沿用前面的配置即可。

 

2. 服务端server配置

不需要任何配置,只要沿用前面的配置即可。

 

3. 网页上配置

第一步:配置自动发现规则---发现主机

[root@zabbix bin]# zabbix_get -s 172.16.1.8 -p 10050 -k 'system.uname'

Linux web01 2.6.32-573.el6.x86_64 #1 SMP Thu Jul 23 15:44:03 UTC 2015 x86_64

 

 

第二步:配置添加主机动作---添加主机

 

 

 

4. 小结:工作流程

a.安装好服务端

b.批量安装好客户端

c.网上配置自动发现规则及动作

d.等着

e.再来新的机器,只需安装好客户端即可

f.再等着

 


 

2. SNMP监控

 

能用zabbix Agent:系统能够安装这个软件的时候就用这种方法

 

但是,交换机,打印机等智能设备


 

snmp就是专门为设备监控开发的协议,软件  

 

优点:软件小巧,所以设备都可以安装

缺点:支持的功能少

 

生产环节建议:能够安装agent,先用Agent;如果不能装或者装不了,那么可以使用snmp



 

3.1 在Linux服务期启动SNMP服务

yum -y install net-snmp net-snmp-utils

 

配置snmp

sed -i.ori '57a view systemview   included  .1' /etc/snmp/snmpd.conf

/etc/init.d/snmpd start

 

使用SNMP

[root@db01 ~]# snmpwalk -v 2c -c public 127.0.0.1 sysname

 

# snmpwalk 类似 zabbix_get

# -v 2c  指定使用snmp协议的版本  snmp分为v1 v2 v3

# -c public  指定暗号

# sysname  类似zabbix的key


 

<wiz_tmp_tag id="wiz-table-range-border" contenteditable="false" style="display: none;">

声明:本文内容由网友自发贡献,不代表【wpsshop博客】立场,版权归原作者所有,本站不承担相应法律责任。如您发现有侵权的内容,请联系我们。转载请注明出处:https://www.wpsshop.cn/w/繁依Fanyi0/article/detail/156540
推荐阅读
相关标签
  

闽ICP备14008679号