下载客户端

一,Zabbix架构

zabbix 是三个基于 WEB
分界面包车型客车提供遍布式系统监视以及互联网监视功效的公司级的开源化解方案。zabbix
能监视各样网络参数,保证服务器系统的安全运维;并提供灵活的照料机制以让系统管理员快捷牢固/化解存在的种种主题素材。

Zabbix 的运维架构如下图所示:

澳门金沙国际 1

zabbix自定义监察和控制项

一、创建主机组,能够依照redis、mysql、web等创建对于的主机组

澳门金沙国际 2

2、创立主机

澳门金沙国际 3

3、创建Screens

澳门金沙国际 4

澳门金沙国际 5

四、自定义监察和控制项

zabbix_agentd.conf配置文件定义路线

澳门金沙国际 6

cd/etc/zabbix/zabbix_agentd.d

概念一个nginx性能监察和控制配置文件
vim nginx.conf

?

12 # key名称,命令UserParameter=nginx.active,/usr/bin/curl -s http://192.168.137.11:8080/nginx-status |grep "Active"|awk '{print $NF}'

重启
systemctl restart zabbix-agent

其余脚本也能够上传在此目录下,如zabbix_linux_plugin.sh

测试
zabbix_get -s 192.168.137.11 -p 10050 -k ‘nginx.active’

页面创立items

澳门金沙国际 7

澳门金沙国际 8

澳门金沙国际 9

始建趋势图

澳门金沙国际 10

澳门金沙国际 11

在分布式监察和控制种类Zabbix3.贰跳坑指南和布满式监察和控制系列Zabbix3。布满式监察和控制体系Zabbix三.贰给这么些增添邮件报告警方已经介绍了怎么样设置以及报告警察方。此篇通过介绍监察和控制数据库的330陆端口连接数来询问哪些监控别的端口和计划自定义监察和控制项的进程。

1.1 组件

zabbix 由以下多少个零件部分组成:

1) Zabbix Server:

顶住接收 agent
发送的告诉新闻的大旨器件,全体配置,总括数据及操作数据均由其团队开始展览;

2) Database Storage:

专用于储存全数配置音讯,以及由 zabbix 搜聚的数量;

3) Web interface:

zabbix 的 GUI 接口,平时与 Server 运营在同一台主机上;

4) Proxy:

可选组件,常用来布满监察和控制情状中,代理 Server
搜聚一些被监察和控制端的监督数据
并统一发往 Server 端;

5) Agent:

安顿在被监察和控制主机上,担负募集当地数据出现往 Server 端或 Proxy 端;

注:zabbix node 也是 zabbix server 的一种 。

哪些贯彻监督各使用

JMX:(使用Zabbix
Java Gateway代理)

3系列型:
无密码验证、用户名密码认证、SSL

1)安装
yum install -y zabbix-java-gateway java-1.8.0

2)配置
vim/etc/zabbix/zabbix_java_gateway.conf

三)运行systemctl
start zabbix-java-gateway.service (查看进程和端口状态)

4)配置zabbix_server,告知zabbix-java-gateway主机地址

vim
/etc/zabbix/zabbix_server.conf

澳门金沙国际 12

起步4个进度轮询zabbix-java-gateway

澳门金沙国际 13

6)重启zabbix_server

systemctl
restart zabbix-server

澳门金沙国际 14

监控tomcat案例

澳门金沙国际 15

/usr/local/tomcat/bin/startup.sh
启动tomcat

怎么展开tomcat
JMX远程监察和控制

vimcatalina.sh

澳门金沙国际 16

?

12345 CATALINA_OPTS="$CATALINA_OPTS -Dcom.sun.management.jmxremote-Dcom.sun.management.jmxremote.port=8888-Dcom.sun.management.jmxremote.ssl=false-Dcom.sun.management.jmxremote.authenticate=false-Djava.rmi.server.hostname=192.168.137.12"

重启tomcat

?

12 /usr/local/tomcat/bin/shutdown.sh/usr/local/tomcat/bin/startup.sh

netstat
-ntlp 检查端口

澳门金沙国际 17

经过投机Windows主机C:\Program
Files\Java\jdk1.8.0_101\bin的jconsole.exe连接测试

澳门金沙国际 18

zabbix添加jmx

澳门金沙国际 19

澳门金沙国际 20

服务器硬件音讯监控IPMI

自定义item,本地实行ipmitool命令获取数据

网络设施SNMP

一)交换机或防火墙开启SNMP服务

二)在zabbix上增加监察和控制(设置SNMP
interface)

三)关联监察和控制模板

澳门金沙国际 21

加上监督检查脚本

1.2 进程

暗中认可情况下zabbix包涵多个程序: zabbix_agentd、 zabbix_get、
zabbix_proxy、 zabbix_sender、zabbix_server,别的1个zabbix_java_gateway 是可选,这些要求此外安装。

上边来分别介绍下他们分别的功力:

 zabbix_agentd

客户端守护进度,此进度搜集客户端数据,比方 cpu
负载、内部存款和储蓄器、硬盘使用状态等。

 zabbix_get

zabbix 工具,单独使用的命令,常常在 server
只怕proxy端实行获取远程客户端音讯的指令。 日常用户排错。
举个例子在server端获取不到客户端的内部存款和储蓄器数据,
我们能够利用zabbix_get获取客户端的内容的主意来做故障排查。

 zabbix_sender

zabbix 工具,用于发送数据给 server
可能proxy,常常用于耗费时间相比长的反省。好多检查万分耗费时间间,导致 zabbix
超时。于是大家在本子推行实现之后,使用 sender 主动提交数据。

 zabbix_server

zabbix
服务端守护进程。zabbix_agentd、zabbix_get、zabbix_sender、zabbix_proxy、zabbix_java_gateway
的多寡最后都以交由到 server
备注:当然不是数额都是积极提交给 zabbix_server,也不在少数 server
主动去取数据。

 zabbix_proxy

zabbix
代理守护进度。效率周围server,唯一分裂的是它只是多其中间转播站,它必要把募集到的数码交由/被交给到
server 里。

 zabbix_java_gateway

zabbix2.0 之后引进的二个意义。顾名思义:Java 网关,类似
agentd,可是只用于
Java方面。须要特别注意的是,它不得不积极去获取数据,而不能够被动获取数据。
它的数额最后会给到server只怕proxy。

**自定义监理脚本**

创制脚本zabbix_linux_plugin.sh

安装权限chmod
77柒 zabbix_linux_plugin.sh

/etc/zabbix/zabbix_agentd.d目录下开创linux.conf

?

1 UserParameter=linux_status[*],/etc/zabbix/zabbix_agentd.d/zabbix_linux_plugin.sh "$1" "$2" "$3"

重启systemctl
restart zabbix-agent

测试zabbix_get
-s 192.168.137.11 -k linux_status[nginx_status,8088,active]

页面创造模板

澳门金沙国际 22

在新建的模板中创立items

澳门金沙国际 23

澳门金沙国际 24

在新建的模版中创造视图

澳门金沙国际 25

模板创立落成导出内容nginx_export_templates.xml

在要监督的客户端上新建脚本:

把文件放到C盘 、创制zabbix文件夹   解压、有四个文本 bin   conf、

1.三 zabbix监察和控制情状中相关术语

  • 主机 :

要监督的网络设施,可由 IP 或 DNS 名称钦定;

  • 主机组(host group):

主机的逻辑容器,能够涵盖主机和模板,但同一个团组织内的主机和模板无法相互链接;主机组经常在给用户或用户组指派监察和控制权限期利用;

 监控项 :

1个一定监察和控制目的的相干的数据;这一个数量来自于被监督目的;item是 zabbix
实行多少搜聚的骨干,相对有个别监察和控制对象,每一种 item 都由”key”标记;

 触发器 :

3个表明式,用于评估某监察和控制对象的特定 item
内接收到的数目是或不是在不出所料限定内,也正是阈值;接收的数据量大于阈值时,触发器状态将从”OK”调换为”Problem”,当数码重复卷土重来到合理限定,又变卦为”OK”;

 事件 :

接触二个值得关怀的作业,比如触发器状态转换,新的 agent 或另行上
线的 agent 的自行注册等;

 动作 :

指对于特定事件事先定义的拍卖办法,如发送文告,几时实践操作;

 报告警方媒介类型 :

发送公告的一手依然通道,如 Email、Jabber 只怕 SMS 等;

 模板 :

用以快捷定义被监督主机的预设条款集结, 平日包蕴了 item、
trigger、graph、 screen、 application 以及 low-level discovery
rule;模板能够直接链接至有些主机;

 前端 :

Zabbix 的 web 接口

TCP状态监察和控制

模板TCP_export_templates.xml

澳门金沙国际 26

导入后,在host主机参预监察和控制模板

澳门金沙国际 27

新建触发器

澳门金沙国际 28

澳门金沙国际 29

/usr/local/zabbix/alertscripts/check_3306_port_num.sh

 bin目录里有310个人和六十12位多个公文夹、依照本人的系统选取版本(那里是64人系统)、里面的八个文本复制到zabbix文件夹中

二,ZabbixServer的安装

**自定义报告警察方脚本**

1、存放在zabbix_server端,查看/etc/zabbix/zabbix_server.conf

澳门金沙国际 30

短信通道可应用如:Ali超过

2、在页面增加脚本调用

澳门金沙国际 31

澳门金沙国际 32

修改Action

澳门金沙国际 33

修改User

澳门金沙国际 34

内容如下:

将conf里面包车型客车文本复制到C盘下,重命名字为zabbix_agentd.conf

2.一 搭建自定义yum货仓并设置支撑包

澳门金沙国际 35

[root@localhost rpm]# pwd/root/rpm[root@localhost rpm]# lsfontconfig-2.8.0-5.el6.x86_64.rpm        libX11-common-1.6.4-3.el6.noarch.rpmfontconfig-devel-2.8.0-5.el6.x86_64.rpm  libX11-devel-1.6.4-3.el6.x86_64.rpmfreetype-2.3.11-17.el6.x86_64.rpm        libXau-devel-1.0.6-4.el6.x86_64.rpmfreetype-devel-2.3.11-17.el6.x86_64.rpm  libxcb-1.12-4.el6.x86_64.rpmgd-devel-2.0.35-11.el6.x86_64.rpm        libxcb-devel-1.12-4.el6.x86_64.rpmlibICE-1.0.6-1.el6.x86_64.rpm            libXext-1.3.3-1.el6.x86_64.rpmlibSM-1.2.1-2.el6.x86_64.rpm             libXpm-devel-3.5.10-2.el6.x86_64.rpmlibvpx-1.3.0-5.el6_5.x86_64.rpm          libXt-1.1.4-6.1.el6.x86_64.rpmlibvpx-devel-1.3.0-5.el6_5.x86_64.rpm    repodatalibX11-1.6.4-3.el6.x86_64.rpm            xorg-x11-proto-devel-7.7-14.el6.noarch.rpm[root@localhost rpm]# cat /etc/yum.repos.d/CentOS-Media.repo [c6-media]name=CentOS-$releasever - Mediabaseurl=file:///media/CentOS/        file:///media/cdrom/        file:///media/cdrecorder/gpgcheck=1enabled=1gpgkey=file:///etc/pki/rpm-gpg/RPM-GPG-KEY-CentOS-6[rpm]name=rpmbaseurl=file:///root/rpm/gpgcheck=0enabled=1[root@localhost yum.repos.d]# yum -y install pcre pcre-devel zlib-devel libaio libaio-devel libxml2 libxml2-devel bzip2-devel openssl openssl-devel net-snmp-devel net-snmp curl-devel gd gcc gcc-c++ make libjpeg-devel libpng-devel libcurl-devel perl-ExtUtils-CBuilder perl-ExtUtils-MakeMaker mysql-devel net-snmp-utils#如果下一步出现问题,请注释掉yum配置文件里的本地光盘源[root@localhost rpm]# yum -y install libvpx-devel gd-devel

MySQL监控

采纳percona监察和控制插件监控Mysql

参考文书档案

yum仓库

此插件注重php和php-mysql

?

1 yum install -y php php-mysql

依据参考文书档案实行连续安装

?

1 yum install percona-zabbix-templates -y

壹体化完毕查看:
rpm -ql percona-zabbix-templates

澳门金沙国际 36

将/var/lib/zabbix/percona/templates/zabbix_agent_template_percona_mysql_server_ht_2.0.玖-sver一.壹.6.xml下载,通过页面导入zabbix模块

将布置文件复制到zabbix下

?

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

vim/var/lib/zabbix/percona/scripts/ss_get_mysql_stats.php.cnf

?

123 <?php$mysql_user = 'zabbix';$mysql_pass = 'zabbix';

测试,调用/etc/zabbix/zabbix_agentd.d/userparameter_percona_mysql.conf
中的MySQL.Connections

澳门金沙国际 37

?

1 /var/lib/zabbix/percona/scripts/get_mysql_stats_wrapper.sh iz

澳门金沙国际 38

备考:那几个mysql监察和控制脚本会在/tmp下生成目前文件,假诺刚才用root账号施行过剧本,会油但是生权力难点

澳门金沙国际 39

化解措施:更动文件的属主
chown zabbix:zabbix localhost-mysql_cacti_stats.txt

#!/bin/bashss -an|grep 3306|grep ESTAB|wc -l

修改zabbix_agentd.conf配置

二.二 编写翻译安装LNMP景况

WEB监控

以tomcat为例

澳门金沙国际 40

澳门金沙国际 41

澳门金沙国际 42

澳门金沙国际 43

###############################################################################

适用场景:

一、监察和控制主机多,质量瓶颈

2、多机房,防火墙

本条本子很轻易,就是获得3306端口已经济建设立的总是,并用“wc
-l”来总结1共略带行,同理可得最终回来的是一个整数

Server=192.168.119.130     #zabbix server IP 
ServerActive=192.168.119.130  #zabbix服务器的IP
Hostname=qazwsxedc-PC   #自己计算机名

2.2.1 安装nginx

[root@localhost ~]# useradd -s /sbin/nologin -M www[root@localhost ~]# tar xf nginx-1.10.2.tar.gz -C /usr/src/[root@localhost ~]# cd /usr/src/nginx-1.10.2/[root@localhost nginx-1.10.2]# ./configure --prefix=/usr/local/nginx --user=www --group=www --with-http_stub_status_module --with-http_ssl_module && make && make install[root@localhost nginx-1.10.2]# ln -s /usr/local/nginx/sbin/* /usr/local/sbin/#创建nginx配置文件模版[root@localhost nginx-1.10.2]# cd /usr/local/nginx/conf/[root@localhost conf]# egrep -v "^$|#" nginx.conf.default > nginx.conf#将nginx配置文件改成如下内容[root@localhost conf]# vim nginx.conf[root@localhost conf]# cat nginx.confworker_processes  1;events {    worker_connections  1024;}http {    include       mime.types;    default_type  application/octet-stream;    sendfile        on;    keepalive_timeout  65;    server {        listen       80;        server_name  localhost;    location / {        root   html;        index  index.php index.html index.htm;    }    location = /nginx-status {                stub_status on;                access_log off;        }    location ~ \.php$ {        fastcgi_pass 127.0.0.1:9000;        fastcgi_index index.php;        fastcgi_param SCRIPT_FILENAME $document_root$fastcgi_script_name;        include fastcgi_params;    }        error_page   500 502 503 504  /50x.html;        location = /50x.html {            root   html;        }    }}[root@localhost conf]# nginx -tnginx: the configuration file /usr/local/nginx/conf/nginx.conf syntax is oknginx: configuration file /usr/local/nginx/conf/nginx.conf test is successful

zabbix监察和控制情势

针对agent来说

  • 被动方式

  • 当仁不让格局

一)当监控主机超过300台,建议采取主动形式

贰)当队列中有大批量推迟的item

澳门金沙国际 44

监察和控制项主动方式改动,如下图

澳门金沙国际 45

督察主机修改主动格局

vim/etc/zabbix/zabbix_agentd.conf

屏蔽被动形式的Server

澳门金沙国际 46

澳门金沙国际 47

澳门金沙国际 48

澳门金沙国际 49

重启服务systemctl
restart zabbix-agent

WEB页面增添19二.16八.壹三7.1二主机的监察项

①)创设主动情势监察和控制模板,将已有的模板如Template
OS Linux,复制1份并将享有item的Type改成Zabbix agent

二)成立监察和控制主机

澳门金沙国际 50

澳门金沙国际 51

可参考

注:alertscripts目录若不设有供给自个儿新建

 

2.2.2 安装mysql

[root@localhost ~]# tar xf mysql-5.5.32-linux2.6-x86_64.tar.gz -C /usr/local/[root@localhost ~]# cd /usr/local/[root@localhost local]# mv mysql-5.5.32-linux2.6-x86_64 mysql[root@localhost local]# cd mysql/[root@localhost mysql]# /bin/cp support-files/my-small.cnf /etc/my.cnf [root@localhost mysql]# useradd -s /sbin/nologin -M mysql[root@localhost mysql]# chown -R mysql.mysql data[root@localhost mysql]# /usr/local/mysql/scripts/mysql_install_db --basedir=/usr/local/mysql --datadir=/usr/local/mysql/data --user=mysqlInstalling MySQL system tables...OKFilling help tables...OK...以下省略若干...[root@localhost mysql]# cp support-files/mysql.server /etc/init.d/mysqld[root@localhost mysql]# chmod +x /etc/init.d/mysqld [root@localhost mysql]# /etc/init.d/mysqld startStarting MySQL.. SUCCESS! [root@localhost mysql]# netstat -antup | grep 3306tcp        0      0 0.0.0.0:3306                0.0.0.0:*                   LISTEN      3990/mysqld   

Zabbix Proxy

流程:
zabbix-server –> zabbix proxy –> zabbix agent

澳门金沙国际 52

合法文书档案

?

1 yum install zabbix-proxy zabbix-proxy-mysql mariadb-server -y

?

1 systemctl start mariadb

zabbix
proxy数据导入

?

12345 mysqlcreate database zabbix_proxy character set utf8;grant all on zabbix_proxy.* to zabbix_proxy@localhost identified by 'zabbix_proxy';<br>exitcd /usr/share/doc/zabbix-proxy-mysql-3.0.5/zcat schema.sql.gz |mysql -uzabbix_proxy -pzabbix_proxy zabbix_proxy

安排文件修改

?

123456 vim /etc/zabbix/zabbix_proxy.conf Server=192.168.137.11 # zabbix server地址Hostname=zabbix-proxyDBHost=localhostDBUser=zabbix_proxyDBPassword=zabbix_proxy

启动systemctl
start zabbix-proxy

页面创制zabbix-proxy

澳门金沙国际 53

代理监察和控制的申报主机设置

vim/etc/zabbix/zabbix_agentd.conf

?

123 ServerActive=192.168.137.12StartAgents=0Hostname=linux-node2

页面设置

澳门金沙国际 54

澳门金沙国际 55

重启systemctl
restart zabbix-agent.service

给脚本增多实施权限:

修改后保存,张开cmd命令

2.2.3 安装libmcrypt

[root@localhost ~]# tar xf libmcrypt-2.5.8.tar.gz -C /usr/src/[root@localhost ~]# cd /usr/src/libmcrypt-2.5.8/[root@localhost libmcrypt-2.5.8]# ./configure && make && make install

自动化监控

壹.自动注册

  一.一Zabbix agent 自动抬高

二.
能动开掘

  二.1自动开采Discover

  2.2
zabbix api

Zabbix
agent 自动抬高配置

?

123456 vim /etc/zabbix/zabbix_agentd.conf ServerActive=192.168.137.11 # zabbix serverStartAgents=0Hostname=linux-node2# HostMetadata= # 如果这个设置,以HostMetadata优先,HostMetadataItem不起作用HostMetadataItem=system.uname

重启systemctl
restart zabbix-agent.service

始建机关注册Action

澳门金沙国际 56

澳门金沙国际 57

自行注册的种类为Linux

澳门金沙国际 58

充足主机

澳门金沙国际 59

增多主机组

澳门金沙国际 60

分选四个模板

澳门金沙国际 61

自行开采方法

合法文书档案

修改配置文件

?

123456 vim /etc/zabbix/zabbix_agentd.conf Server=192.168.137.11#ServerActive=192.168.137.11 #注释StartAgents=3Hostname=linux-node2HostMetadataItem=system.uname

创建机关开采规则

澳门金沙国际 62

澳门金沙国际 63

创建Discovery

澳门金沙国际 64

重启systemctl
restart zabbix-agent.service

#chmod a+x check_3306_port_num.sh

澳门金沙国际 65

2.2.4 安装GD

[root@localhost ~]# tar xf GD-2.18.tar.gz -C /usr/src/[root@localhost ~]# cd /usr/src/GD-2.18/[root@localhost GD-2.18]# perl Makefile.PL[root@localhost GD-2.18]# make && make install

Zabbix API

官方文书档案:

布局客户端文件

设置到位 、在劳动里运维zabbix

2.2.5 安装PHP

[root@localhost ~]# tar xf php-5.6.30.tar.gz -C /usr/src/[root@localhost ~]# cd /usr/src/php-5.6.30/[root@localhost php-5.6.30]# ./configure --prefix=/usr/local/php --with-config-file-path=/usr/local/php/etc --with-bz2 --with-curl --enable-sockets --disable-ipv6 --with-gd --with-jpeg-dir=/usr/local --with-png-dir=/usr/local --with-freetype-dir=/usr/local --enable-gd-native-ttf --with-iconv-dir=/usr/local --enable-mbstring --enable-calendar --with-gettext --with-libxml-dir=/usr/local --with-zlib --with-pdo-mysql=mysqlnd --with-mysqli=mysqlnd --with-mysql=mysqlnd --enable-dom --enable-xml --enable-fpm --with-libdir=lib64 --enable-bcmath[root@localhost php-5.6.30]# make && make install#创建php配置文件[root@localhost php-5.6.30]# cp php.ini-development /usr/local/php/etc/php.ini#修改php配置文件php.ini[root@localhost php-5.6.30]# cat -n /usr/local/php/etc/php.ini | sed -n '372p;382p;393p;660p;702p;820p;936p'   372  max_execution_time = 300   382  max_input_time = 300   393  memory_limit = 256M   660  post_max_size = 32M   702  always_populate_raw_post_data = -1   820  upload_max_filesize = 16M   936  date.timezone =Asia/Shanghai#创建php-fpm配置文件[root@localhost php-5.6.30]# cd /usr/local/php/etc/[root@localhost etc]# cp php-fpm.conf.default php-fpm.conf#修改php-fpm.conf配置文件[root@localhost etc]# cat -n php-fpm.conf | sed -n '149,150p'   149  user = www   150  group = www

修改zabbix_agentd配置文件,增加3个“UserParameter”:

开辟-Computer管理-服务-找到zabbix Agent 运营

2.3 安装zabbix server端

#vi /usr/local/zabbix/etc/zabbix_agentd.conf

获取windows机器的监察目的

二.③.一 编写翻译安装zabbix server

[root@localhost ~]# useradd zabbix -s /sbin/nologin -M[root@localhost ~]# tar xf zabbix-3.2.4.tar.gz -C /usr/src/[root@localhost ~]# cd /usr/src/zabbix-3.2.4/[root@localhost zabbix-3.2.4]# ./configure --prefix=/usr/local/zabbix --with-mysql --with-net-snmp --with-libcurl --enable-server --enable-agent --enable-proxy --with-libxml2[root@localhost zabbix-3.2.4]# make && make install#由于zabbix启动脚本路径默认指向的是/usr/local/sbin路径,因此,需要提前简历软连接:[root@localhost zabbix-3.2.4]# ln -s /usr/local/zabbix/sbin/* /usr/local/sbin/[root@localhost zabbix-3.2.4]# ln -s /usr/local/zabbix/bin/* /usr/local/bin/

丰富如下内容:

澳门金沙国际 66

2.3.2 配置zabbix的mysql环境

Zabbix server
和mysql安装到一台服务器上,首先须求手动创制zabbix数据库,操作如下:

[root@localhost ~]# which mysqladmin/usr/bin/mysqladmin[root@localhost ~]# mysqladmin -uroot password '123123'[root@localhost ~]# mysql -uroot -p123123 -e 'create database zabbix character set utf8;'[root@localhost ~]# mysql -uroot -p123123 -e "grant all privileges on zabbix.* to zabbix@'localhost' identified by '123123';"[root@localhost ~]# mysql -uroot -p123123 -e 'flush privileges;'#如下数据的导入顺序不可以错[root@localhost ~]# mysql -uzabbix -p123123 zabbix < /usr/src/zabbix-3.2.4/database/mysql/schema.sql [root@localhost ~]# mysql -uzabbix -p123123 zabbix < /usr/src/zabbix-3.2.4/database/mysql/images.sql [root@localhost ~]# mysql -uzabbix -p123123 zabbix < /usr/src/zabbix-3.2.4/database/mysql/data.sql 

更改 UnsafeUserParameters=1添加
UserParameter=3306connectNum,/usr/local/zabbix/alertscripts/check_3306_port_num.sh

导出监察和控制项

2.4 安装Zabbix web GUI

  • Zabbix
    web是php代码编写的,由此须求有php情形,后面早已设置好了lnmp,由此能够直接使用。
  • 暗中同意的nginx安装的根目录为/usr/local/nginx/html,由此,只供给Zabbix
    web的代码放到此目录就能够。
  • Zabbix
    web的代码在Zabbix源码包中的frontends/php目录下,将那么些php目录拷贝到/usr/local/nginx/html/目录下并更名zabbix就可以达成Zabbix
    web端的安装。
  • 在浏览器输入http://IP/zabbix,然后会检查zabbix
    web运行境况是还是不是满意,并提供连接数据库的相干新闻就能够,最终将接连数据库相关新闻都存入文件zabbix/conf/zabbix.conf.php中,那样就能够登入zabbix的web平台了。
  • 暗许的zabbix平台登入用户名称为Admin,密码为zabbix。

注:这里的“3306connectNum”正是item
key,不能够跟已部分重复,并且前边须要使用

澳门金沙国际 67 
 #用以自定义监察和控制

二.4.一 复制zabbix web目录到nginx web根目录下

[root@localhost ~]# cp -rp /usr/src/zabbix-3.2.4/frontends/php /usr/local/nginx/html/zabbix[root@localhost ~]# cd /usr/local/nginx/html/[root@localhost html]# ls -ltotal 12-rw-r--r--.  1 root root  537 Dec  8 14:15 50x.html-rw-r--r--.  1 root root  612 Dec  8 14:15 index.htmldrwxr-xr-x. 13 1000 1000 4096 Feb 27  2017 zabbix[root@localhost html]# chown -R www.www zabbix[root@localhost html]# ll -d zabbix/drwxr-xr-x. 13 www www 4096 Feb 27  2017 zabbix/

重启zabbix_agentd

开荒那一个文件找到:\Processor(_Total)\% User Time 

2.4.2 启动nginx服务及php-fpm

[root@localhost html]# /usr/local/nginx/sbin/nginx [root@localhost html]# netstat -antup | grep nginxtcp        0      0 0.0.0.0:80                  0.0.0.0:*                   LISTEN      8439/nginx   [root@localhost local]# /usr/local/php/sbin/php-fpm [root@localhost local]# netstat -antup | grep php-fpmtcp        0      0 127.0.0.1:9000              0.0.0.0:*                   LISTEN      8522/php-fpm  

#systemctl restart zabbix-agent

把那几个监察和控制项增多到zabbix_agentd.conf文件中

二.四.三 登6web依照提醒生成zabbix.conf.php配置文件

#起初并没有zabbix.conf.php配置文件,我们可以选择自动生成配置文件[root@localhost ~]# cd /usr/local/nginx/html/zabbix/conf[root@localhost conf]# lsmaintenance.inc.php  zabbix.conf.php.example

在浏览器里输入

澳门金沙国际 68

澳门金沙国际 69

澳门金沙国际 70

澳门金沙国际 71

澳门金沙国际 72

澳门金沙国际 73

实行如上海教室所示的手续生成zabbix.conf.php配置文件

[root@localhost conf]# pwd/usr/local/nginx/html/zabbix/conf[root@localhost conf]# lsmaintenance.inc.php  zabbix.conf.php  zabbix.conf.php.example[root@localhost conf]# cat zabbix.conf.php      #里面记录的信息就是我们刚刚的操作<?php// Zabbix GUI configuration file.global $DB;$DB['TYPE']     = 'MYSQL';$DB['SERVER']   = 'localhost';$DB['PORT']     = '0';$DB['DATABASE'] = 'zabbix';$DB['USER']     = 'zabbix';$DB['PASSWORD'] = '123123';// Schema name. Used for IBM DB2 and PostgreSQL.$DB['SCHEMA'] = '';$ZBX_SERVER      = 'localhost';$ZBX_SERVER_PORT = '10051';$ZBX_SERVER_NAME = 'zabbixserver';$IMAGE_FORMAT_DEFAULT = IMAGE_FORMAT_PNG;

提示:
除此而外通过web分界面包车型大巴法门生成zabbix.conf.php文件外,大家也得以使用zabbix.conf.php.example的模版文件直接修改成大家必要的配置文件。

zabbix服务端测试获取数据

PerfCounter = UserPerfCountercpuUsertime,”\Processor(_Total)\% User
Time”,3

2.4.4 登录zabbix web

澳门金沙国际 74

澳门金沙国际 75

#zabbix_get -s 192.168.80.30 -k 3306connectNum

证实:PerfCounter固定格式 UserPerfCountercpuUsertime自定义的名字
\Processor(_Total)\% User Time 获取到的监察项 3 每隔3秒获取一遍

二.四.5 设置zabbix中文形式

澳门金沙国际 76

澳门金沙国际 77

澳门金沙国际 78

出口如下:

再加多多少个:\Processor(_Total)\% Processor Time

三,zabbix server的配置

587

PerfCounter = UserPerfCountercpu,”\Processor(_Total)\% Processor
Time”,3

3.1 zabbix_server.conf配置

通过源码安装方式将zabbix安装到/usr/local/zabbix上面,zabbix
server的布局文件为/usr/local/zabbix/etc/zabbix_server.conf,供给修改的剧情为如下:

#需要修改的内容为如下:[root@localhost ~]# cd /usr/local/zabbix/etc/[root@localhost etc]# cat -n zabbix_server.conf | sed -n '12p;38p;87p;103p;111p;118p;136p;165p;181p;297p;447p'    12  # ListenPort=10051    38  LogFile=/tmp/zabbix_server.log    87  DBName=zabbix   103  DBUser=zabbix   111  # DBPassword=   118  # DBSocket=/tmp/mysql.sock   136  # StartPollers=5   165  # StartTrappers=5   181  # StartDiscoverers=1   297  # ListenIP=0.0.0.0   447  # AlertScriptsPath=${datadir}/zabbix/alertscripts#将zabbix_server.conf文件内容修改成如下所示:[root@localhost etc]# cat -n zabbix_server.conf | sed -n '12p;38p;87p;103p;111p;118p;136p;165p;181p;297p;447p'    12  ListenPort=10051    #zabbix server监听端口    38  LogFile=/tmp/zabbix_server.log  #zabbix server日志路径    87  DBName=zabbix   #zabbix server连接MySQL数据库的数据库名   103  DBUser=zabbix   #zabbix server连接MySQL数据库的用户名   111  DBPassword=123123   #zabbix server连接MySQL数据库的密码   118  DBSocket=/tmp/mysql.sock    #MySQL的实例文件位置   136  StartPollers=5  #用于设置zabbix server服务启动时启动Pollers的数量,数量越多,则服务端吞吐能力越强,同时对系统资源消耗越大   165  StartTrappers=10    #用于设置zabbix server服务启动时启动Trappers(负责处理Agentd推送过来的数据的进程)的数量。Agentd为主动模式时,zabbix server需要设置这个值大一些。   181  StartDiscoverers=10 #用于设置zabbix server服务启动时启动Discoverers进程的数量,如果zabbix监控报Discoverers进程忙时,需要提高该值。   297  ListenIP=0.0.0.0    #zabbix server启动的监听端口对哪些ip开放,Agentd为主动模式时,这个值建议设置为0.0.0.0   447  AlertScriptsPath=/usr/local/zabbix/share/zabbix/alertscripts  #zabbix server运行脚本存放目录,一些供zabbix server使用的脚本,都可以放在这里。

注:上面的1九二.16八.80.30正是指的客户端的IP,330六connectNum便是大家要测试的key,重临的5八柒便是330六数据库端口的连接数

表明:PerfCounter固定格式 UserPerfCountercpu自定义的名字 Processor
Information(0,_Total)\% Priority Time 获取到的监督检查项 叁 每隔3秒获取3遍

3.2 增添相关服务和端口到系统布局文件

编辑/etc/services文件,在末了加多以下代码:

[root@localhost ~]# tail -4 /etc/services zabbix-agent    10050/tcp       # Zabbix Agentzabbix-agent    10050/udp       # Zabbix Agentzabbix-trapper  10051/tcp       # Zabbix Trapperzabbix-trapper  10051/udp       # Zabbix Trapper

其间,10051是zabbix server的监听端口,10050是zabbix agent的监听端口。

zabbix的web界面中新建立模型板、监察和控制项以及图片

 

③.三 增多管理维护脚本

从zabbix源码包misc/init.d/fedora/cora/目录中找到zabbix_server和zabbix_agentd,然后复制到/etc/init.d目录下,由于大家的zabbix_agnetd选取rpm的装置格局,会活动抬高运行脚本,所以在那里,大家不进行zabbix_agentd的开发银行脚本的复制。

[root@localhost ~]# cp /usr/src/zabbix-3.2.4/misc/init.d/fedora/core/zabbix_server /etc/init.d/zabbix_server[root@localhost ~]# cd /etc/init.d/[root@localhost init.d]# chmod +x /etc/init.d/zabbix_server [root@localhost init.d]# chkconfig zabbix_server on

新建立模型板:

在zabbix_server web调整台加多客户端

3.4 启动zabbix_server端进程

[root@localhost ~]# /etc/init.d/zabbix_server startStarting zabbix_server:                                    [  OK  ][root@localhost ~]# netstat -antup | grep zabbix_servertcp        0      0 0.0.0.0:10051               0.0.0.0:*                   LISTEN      9319/zabbix_server 

配备 –> 模板 –> 成立模板:

计划——主机群主——成立主机群组——windows_server(依照本身的条件定义)

四,zabbix_agent的设置与布局

zabbix
agent端的装置建议采纳rpm包情势安装,可从
server端保持1致,安装如下:

[root@localhost chen]# wget http://repo.zabbix.com/zabbix/3.2/rhel/6/x86_64/zabbix-agent-3.2.4-1.el6.x86_64.rpm[root@localhost ~]# rpm -ivh zabbix-agent-3.2.4-1.el6.x86_64.rpm

安装到位后,zabbix agent端已经设置到位了,zabbix
agent端的布局目录位于/etc/zabbix下,可在此目录进行配置文件的改造。

特别提醒:

  • zabbix server的源码包本身就包罗了zabbix server端和zabbix
    agent端,由此,zabbix服务器端无需再设置zabbix agent的rpm包。
  • 但是zabbix
    agent的rpm包是为着便利在服务器上举办飞速安装而布置的高速安装包。
  • 为此为了统1,监察和控制端和被监察和控制端的zabbix agent我们都用rpm的装置方式

修改zabbix agent端的布置文件

#需要修改的内容如下所示:[root@Zabbix_Server ~]# cd /etc/zabbix/[root@localhost zabbix]# cat -n zabbix_agentd.conf | sed -n '13p;32p;95p;103p;120p;136p;147p;265p;284p'    13  PidFile=/var/run/zabbix/zabbix_agentd.pid    32  LogFile=/var/log/zabbix/zabbix_agentd.log    95  Server=127.0.0.1   103  # ListenPort=10050   120  # StartAgents=3   136  ServerActive=127.0.0.1   147  Hostname=Zabbix server   265  Include=/etc/zabbix/zabbix_agentd.d/*.conf   284  # UnsafeUserParameters=0#将内容修改为如下所示:[root@localhost zabbix]# cat -n zabbix_agentd.conf | sed -n '13p;32p;95p;103p;120p;136p;147p;265p;284p'    13  PidFile=/var/run/zabbix/zabbix_agentd.pid   #进程pid存放路径    32  LogFile=/var/log/zabbix/zabbix_agentd.log   #zabbix agent日志存放路径    95  Server=127.0.0.1,192.168.0.220  #指定zabbix server端IP地址   103  ListenPort=10050    #指定agentd的监听端口   120  StartAgents=3       #指定启动agentd进程数量。设置0表示关闭   136  ServerActive=192.168.0.220:10051    #启用agnetd主动模式,启动主动模式后,agentd将主动将收集到的数据发送到zabbix server端,Server Active后面指定的IP就是zabbix server端IP   147  Hostname=192.168.0.220 #需要监控服务器的主机名或者IP地址,此选项的设置一定要和zabbix web端主机配置中对应的主机名一致。   265  Include=/etc/zabbix/zabbix_agentd.d/    #相关配置都可以放到此目录下,自动生效   284  UnsafeUserParameters=1  #启用agent端自定义item功能,设置此参数为1后,就可以使用UserParameter指令了。UserParameter用于自定义item

启动zabbix_agent端进程

[root@localhost ~]# /etc/init.d/zabbix-agent startStarting Zabbix agent:                                     [  OK  ][root@localhost ~]# netstat -antup | grep zabbix_agenttcp        0      0 0.0.0.0:10050               0.0.0.0:*                   LISTEN      1322/zabbix_agentd  tcp        0      0 :::10050                    :::*                        LISTEN      1322/zabbix_agentd  [root@localhost init.d]# chkconfig zabbix-agent on

大家在监察和控制端和被监察和控制端都进行如上所述的zabbix agent端的装置。

模版名称 :Template App MySQL (存在则选择)

澳门金沙国际 79

五,测试zabbix server监控

哪些领悟zabbix server监察和控制已经生效呢,可因而zabbix
server上的zabbix_get命令来完毕,在zabbix
server上实践如下命令就可以开始展览测试:

#利用如下命令进行测试/usr/local/zabbix/bin/zabbix_get -s 192.168.0.221 -p 10050 -k "system.uptime"-s 是指定zabbix agent端的IP地址-p 是指定zabbix agent端的监听端口-k 是监控项,即item如果有输出结果,表面zabbix server可以从zabbix agent获取数据,配置成功。

具体操作如下:

#在监控端zabbix_server端进行如下操作[root@localhost init.d]# /usr/local/zabbix/bin/zabbix_get -s 192.168.0.221 -p 10050 -k "system.uptime"26330       #有数据显示就代表监控正常[root@localhost init.d]# /usr/local/zabbix/bin/zabbix_get -s 192.168.0.220 -p 10050 -k "system.uptime"55653       #有数据显示就代表监控正常

给该模板加多监察和控制项:

计划——主机——成立主机——

六,Zabbix的web操作入门

展开该模板 –> 监控项 –> 创设监察和控制项:

澳门金沙国际 80

6.一 Zabbix Web 操作概述

名称:MySQL 330陆端口连接数

澳门金沙国际 81

陆.一.1 Zabbix首页仪表提示面板

澳门金沙国际 82

  • 常用的图片:能够依据自个儿喜好,加多按主机按监察和控制项增多神速的查阅链接
  • 常用的汇集图形:可以将多少个监察和控制图形的曲线合并呈现
  • 常用的拓扑图:集群的框架结构图
  • 长机状态:被监察和控制的主机的实时意况
  • Web检查测试:发一个http请求,看看web是不是能健康访问
  • 系统状态:监察和控制端zabbix server服务器的境况
  • 近来17个难点:最终产生的十多个告警察与消防人员息
  • Zabbix状态:zabbix server监察和控制的事无巨细汇总音信

键值:3306connectNum

 

6.一.贰 自定义首页面板

澳门金沙国际 83

调动后,如下所示:

澳门金沙国际 84

当选新闻种类为数字

为windowsserver加多督察项

陆.一.三 追加常用的监察图形

澳门金沙国际 85

澳门金沙国际 86

澳门金沙国际 87

增加图形:

模板——windowsserver——监察和控制项——成立监察和控制项—— (注意:键值要和zabbix_agentd.conf中
自定义的名字要维持直接)

陆.一.四 修改账户密码

澳门金沙国际 88

澳门金沙国际 89

澳门金沙国际 90

开荒该模板 –> 图形 –> 创制图形:

澳门金沙国际 91

陆.一.五 设置报告警察方提示声音

澳门金沙国际 92

澳门金沙国际 93

澳门金沙国际 94

名称:Mysql 3306端口连接数

澳门金沙国际 95

6.一.陆 获取最新的zabbix共享模版

澳门金沙国际 96

澳门金沙国际 97

监察项:增加上刚才创制的督察项

 

六.2 自定义被监督的服务器

给主机绑定模板后:

 

陆.贰.壹 自定义贰个主机组

澳门金沙国际 98

澳门金沙国际 99

澳门金沙国际 100

专程提醒
在生育情状时,主机组的名字自然要用英文,不然,当zabbix举行二遍开采的时候,汉语名称都是乱码。那以为很令人想死…

长机》找到监察和控制的主机》图形》

专注:键值要和zabbix_agentd.conf中 自定义的名字要保持直接

6.2.2 自定义2个主机

澳门金沙国际 101

澳门金沙国际 102

澳门金沙国际 103

澳门金沙国际 104

澳门金沙国际 105

特意提示
在生育意况中主机的名字自然纵然英文,并且务必和诚实主机的主机名壹致,且必须归类到场到主机组中。不然zabbix在进展二回开垦的时候会卓越辛勤(须求树立类似索引情势的事物去关联真实服务器)

那边要留意的是要本着此主机必要加多Template App MySQL模板的引用

澳门金沙国际 106

陆.三 自定义2个督察项

数秒钟后翻看连接数的变迁:

 

陆.三.1 进行监察项的后台定义

近期假设大家要定义贰个获取nginx连接数的监察项,那么大家先得去品味能够赢得这几个值。在前头的nginx配置文件里我们早就投入了status模块的拿走

澳门金沙国际 107

我们登陆网页获取这些音讯

澳门金沙国际 108

咱俩品尝通过命令获取这一个音信

[root@localhost zabbix_agentd.d]# curl -s "http://192.168.0.220:80/nginx-status" Active connections: 6 server accepts handled requests 301 301 8833 Reading: 0 Writing: 1 Waiting: 5 [root@localhost zabbix_agentd.d]# curl -s "http://192.168.0.220:80/nginx-status" | grep "Active"Active connections: 6 [root@localhost zabbix_agentd.d]# curl -s "http://192.168.0.220:80/nginx-status" | grep "Active" | awk '{print $NF}'6

在zabbix agent配置文件里定义那一个监察和控制项

[root@localhost ~]# cd /etc/zabbix/     #进入zabbix agent目录[root@localhost zabbix]# lszabbix_agentd.conf  zabbix_agentd.d[root@localhost zabbix]# vim zabbix_agentd.conf [root@localhost zabbix]# sed -n '257,270p' zabbix_agentd.conf   ### Option: Include#   You may include individual files or all files in a directory in the configuration file.#   Installing Zabbix will create include directory in /usr/local/etc, unless modified during the compile time.## Mandatory: no# Default:# Include=Include=/etc/zabbix/zabbix_agentd.d/        #我们发现zabbix_agentd.d目录已经默认被include进入了主配置文件。# Include=/usr/local/etc/zabbix_agentd.userparams.conf# Include=/usr/local/etc/zabbix_agentd.conf.d/# Include=/usr/local/etc/zabbix_agentd.conf.d/*.conf

由于zabbix_agentd.conf配置文件暗许导入了有着zabbix_agentd.d目录下的始末,因而我们得以将监督项定义到zabbix_agentd.d目录下。

澳门金沙国际 109

参照模版,自个儿定义监察和控制项的获取命令

[root@localhost zabbix_agentd.d]# pwd/etc/zabbix/zabbix_agentd.d[root@localhost zabbix_agentd.d]# vim nginx.conf[root@localhost zabbix_agentd.d]# cat nginx.conf [root@localhost zabbix_agentd.d]# cat nginx.conf UserParameter=nginx.active,/usr/bin/curl -s "http://192.168.0.220:80/nginx-status" | grep "Active" | awk '{print $NF}'

自定义监察和控制项,等于改换了安顿文件,自然要求重启zabbix_agentd

[root@localhost ~]# /etc/init.d/zabbix-agent restartShutting down Zabbix agent:                                [  OK  ]Starting Zabbix agent:                                     [  OK  ]

在zabbix server端测试获取自定义的监督检查项新闻

[root@localhost ~]# zabbix_get -s 192.168.0.220 -p 10050 -k "nginx.active"6

至此zabbix自定义监控项的后台定义全体完了

到此,大家选用zabbix自定义监察和控制2个端口的连接数的配备就水到渠成了。当然,根据自家上边提到的原理,使用zabbix来监督一些别样服务也将不再是难事了

增加图形

陆.三.2 实行监察项的前台定义

点选二个被监督的主机

澳门金沙国际 110

跻身监察和控制项创制模版

澳门金沙国际 111

成立监察和控制项

澳门金沙国际 112

澳门金沙国际 113

创设达成的监督项

澳门金沙国际 114

督察项创建完毕以往,在zabbix
server这些主机里就出现那一个新定义的监察项了。

以上内容参考了别的英特网资料的,也谢谢其余网上好友的分享。

澳门金沙国际 115

陆.4 自定义1个监察项的图形

点选三个被监督的主机

澳门金沙国际 116

跻身图产生立模版

澳门金沙国际 117

澳门金沙国际 118

翻开图形绘图

澳门金沙国际 119

至于图形的各样展现效果

澳门金沙国际 120

健康图形:

澳门金沙国际 121

层积图形

澳门金沙国际 122

Pie图形

澳门金沙国际 123

突发的图样

澳门金沙国际 124

 

六.伍 自定义七个集中图形

始建一个成团图形

澳门金沙国际 125

澳门金沙国际 126

编纂聚合图形

澳门金沙国际 127

澳门金沙国际 128

澳门金沙国际 129

慎选体现图片

澳门金沙国际 130

澳门金沙国际 131

澳门金沙国际 132

澳门金沙国际 133

将汇集图形加多到zabbix web首页面板

澳门金沙国际 134

澳门金沙国际 135

澳门金沙国际 136

丰硕模板——windowsservers (在此之前成立的模板)

陆.陆 自定义一个拓扑图形

跻身拓扑图编辑分界面

澳门金沙国际 137

澳门金沙国际 138

拉长一个新的拓扑图形

澳门金沙国际 139

澳门金沙国际 140

拓扑图链接拓扑图

澳门金沙国际 141

澳门金沙国际 142

澳门金沙国际 143

澳门金沙国际 144

拓扑图展现时时的连年带宽

澳门金沙国际 145

澳门金沙国际 146

澳门金沙国际 147

澳门金沙国际 148

澳门金沙国际 149

上海教室中的标签内容如下:
{linux-node1.yunjisuan.com:net.if.out[eth0].last}
linux-node一.yunjisuan.com为定义的主机名
net.if.out[eth0]为监察项的表明式
last为取监察和控制项的末了八个值

澳门金沙国际 150

澳门金沙国际 151

本节功课:

熟练Zabbix各模块操作,回家胡乱点点

自学陈设Smokeping互连网监察和控制

自学Piwik流量分析系统

#######################################################################################

 

一,Zabbix Web操作深远

翻看图形

一.一 Zabbix Web下的主机和模版以及监督项的增加格局

开创一个模板

小编们具有的功用差不多都是在模板中定义的

澳门金沙国际 152

澳门金沙国际 153

我们再点进新创制的沙盘查看

模版里差不多能够设定大家供给的享有功效

澳门金沙国际 154

澳门金沙国际 155

在模板里创造应用集

运用集的功用正是将过多的监督检查项进行1个分类,方便我们的处理

澳门金沙国际 156

澳门金沙国际 157

澳门金沙国际 158

在模板里创造1个zabbix自带的督察项

澳门金沙国际 159

澳门金沙国际 160

监理项里的键值大家毕竟要怎么样写?大家须求学会照葫芦画瓢

作者们选拔二个体系模版Template OS Linux查看

澳门金沙国际 161

澳门金沙国际 162

澳门金沙国际 163

澳门金沙国际 164

本来大家也足以自定义监控项的键值,可是并不推荐那样。因为,都以投机写太慢了。系统自带了累累键值大家要学会运用

自定义系统监察和控制项的键值创立,请参见前1节的学问

澳门金沙国际 165

一.贰 Zabbix Web下触发器与表明式的编辑撰写方法

avg

参数:秒或#num
支撑项目:float,int
效率:再次回到1段时间的平均值

举例:avg(5):最后5秒的平均值avg(#5):表示最近5次得到值的平均值avg(3600,86400):表示一天前的一个小时的平均值如果仅有一个参数,表示指定时间的平均值,从现在开始算起,如果有第二个参数,表示漂移,从第二个参数前开始算时间,#n表示最近n次的值

last

参数:秒或#num
支撑值类型:float,int,str,text,log
功效:方今的值,假如为秒,则忽略,#num表示近日第N个值,请小心眼下的#num和其余部分函数的#num的意思是分裂的。

last(0)等价于last(#1)last(#3)表示最近第3个值(并不是最近的三个值)本函数也支持第二个参数time_shift,例如last(0,86400)返回一天前的最近的值。如果在history中同一秒中有多个值存在看,Zabbix不保证值的精确顺序#num从Zabbix1.6.2起开始支持,timeshift从1.8.2起开始支持,可以查询avg()函数获取它的使用方法

max

参数:秒或#num
支撑值类型:float,int
叙述:重返内定时期间隔的最大值。时间距离作为第3个参数可以是秒或采撷值的多少。从Zabbix一.八.二从头,函数协助第二个可选参数time_shift,能够查看avg()函数获取它的接纳格局。
举个例子:max=0 再次来到一遍值假设都以0则触发告警

min

参数:秒或#num
协理值类型:float,int
讲述:再次回到钦点时期距离的小小值。时间距离作为第3个参数能够是秒或搜聚值的多少。从Zabbix一.八.2开始,函数帮忙第四个可选参数time_shift,能够查看avg()函数获取它的行使情势。

nodata

参数:秒
支撑值类型:any
叙述:当重回值为一代表钦赐的区间(间隔不应小于30秒)未有吸收到多少,0意味收获到了。
例:nodata=1 ===>4分钟以内取得不到数量就报告警察方

prev

参数:忽略
协理值类型:float,int,str,text,log
讲述:重回此前的值,类似于last

sum

参数:秒或#num
支撑值类型:float,int
叙述:再次回到指定时期距离中搜罗到的值的总和,时间间隔作为第三个参数帮衬秒或收罗值的数目.从Zabbix一.八.二起来,本函数支持time_shift作为第3个参数。能够查看avg函数获取它的用法。

change

参数:忽略
补助项目:float,int,str,text,log
作用:再次来到近来到手值与事先获得值的差值,对于字符串0表示格外,1象征差异
change>n:忽略参数一般输入0,表示近期赢得的值与上三个值的差值大于n

diff

参数:忽略
支撑值类型:float,init,str,text,log
效果:再次回到值为一,表示方今的值与在此之前的值分歧,0为同1。
举个例子:diff>0 ===>表示今后收获的值若是和在此以前的不如就报告警察方

例如:

澳门金沙国际 166

澳门金沙国际 167

 

一.三 Zabbix Web创设触发器进度以及触发器与监察和控制项对应涉及

始建三个触发器

作者们事先曾经创造了1个检测内部存款和储蓄器剩余大小的监察和控制项,以后我们给这么些监察和控制项加3个触发器。当内存小于20M时,触发报告警察方

澳门金沙国际 168

澳门金沙国际 169

澳门金沙国际 170

澳门金沙国际 171

进展表明器测试

澳门金沙国际 172

澳门金沙国际 173

澳门金沙国际 174

澳门金沙国际 175

澳门金沙国际 176

表明式测试成功后,大家创设达成就能够

在服务端实行监察项数据获得测试

澳门金沙国际 177

监督项表达式表明
{aaaa:vm.memory.size[available].last()}<20M
aaaa:模版名
vm.memory.size:zabbix监控端向被监控端发送的代号
.last()<20 :last()<===>last<===>last

[root@localhost ~]# zabbix_get -s 192.168.0.220 -k "vm.memory.size"1028517888              #获取对应IP的全部内存总量[root@localhost ~]# zabbix_get -s 192.168.0.220 -k "vm.memory.size[available]"794337280           #获取对应IP的剩余内存总量

一.四 为了让同学们体会深远,大家再成立三个监理项同时成立它的触发器

高速创造3个Agent_ping监控项

澳门金沙国际 178

澳门金沙国际 179

在监察和控制端测试监察和控制项的键值

[root@localhost ~]# zabbix_get -s 192.168.0.220 -k "agent.ping"1[root@localhost ~]# zabbix_get -s 192.168.0.221 -k "agent.ping"1[root@localhost ~]# zabbix_get -s 192.168.0.222 -k "agent.ping"zabbix_get [11715]: Get value error: cannot connect to [[192.168.0.222]:10050]: [113] No route to host

咱俩发掘只要对方服务器IP能ping通,则再次来到值是一。反之不是一就至极

创办监察和控制项的报告警察方触发器

澳门金沙国际 180

澳门金沙国际 181

澳门金沙国际 182

澳门金沙国际 183

澳门金沙国际 184

澳门金沙国际 185

到那边就成立完结了,请同学们仔细回味这一个进度。

二,Zabbix常用模版与触发器效率详解

{Template App Zabbix Agent:agent.version.diff}>0

解释:
倘诺当前赢得的agent客户端的版本号大于前2次的不等,那么触发告警

{Template App Zabbix Agent:agent.ping.nodata}=1

解释:
假若ping客户端在6分钟内都不曾多少,那么触发告警

{Template OS AIX:vm.memory.size[available].last}<20M

解释:
倘若最后1遍获得的空余内部存款和储蓄器大小得值小于20M,那么触发告警

{Template App SSH Service:net.tcp.service[ssh].max}=0

解释:
一旦ssh远程连接再三再四收获的一回值的最大值都以0,那么触发告警

{Template ICMP Ping:icmppingloss.min}>20

解释:
倘若总是四分钟里得到的纤维值都高于20,那么触发告警

{Template ICMP Ping:icmppingsec.avg}>0.15

解释:
设若总是4秒钟内的平均值大于0.一五,那么触发告警

3,Zabbix报告警察方媒介类型设置和报告警察方动作、频率设置

三.壹 QQ邮件告警平台

3.1.1 安装sendmail

[root@localhost ~]# wget http://caspian.dotconf.net/menu/Software/SendEmail/sendEmail-v1.56.tar.gz[root@localhost ~]# yum -y install perl-Net-SSLeay perl-IO-Socket-SSL[root@localhost ~]# tar xf sendEmail-v1.56.tar.gz -C /usr/local/[root@localhost ~]# cd /usr/local/sendEmail-v1.56/[root@localhost sendEmail-v1.56]# /bin/cp -ra sendEmail /usr/local/bin/[root@localhost sendEmail-v1.56]# chmod +x /usr/local/bin/sendEmail [root@localhost sendEmail-v1.56]# which sendmail/usr/sbin/sendmail

3.一.二 sendmail命令使用验证

命令/参数 内容 解释说明
/usr/local/bin/sendEmail 命令主程序
-f from@163.com 发件人邮箱
-t to@163.com 收件人邮箱
-s smtp.163.com 发件人邮箱的smtp服务器
-u "我是邮件主题" 邮件的标题
-o message-content-type=html 邮件内容的格式,html表示它是html格式
-o message-charset=utf8 邮件内容编码
-xu from@163.com 发件人邮箱的用户名
-xp 123456 发件人邮箱密码
-m "我是邮件内容" 邮件的具体内容

3.一.3 调治QQ邮箱设置

澳门金沙国际 186

澳门金沙国际 187

澳门金沙国际 188

测试邮件发送

[root@localhost sendEmail-v1.56]# sendEmail -f 215379068@qq.com -t 215379068@qq.com -u "zabbix_server" -s smtp.qq.com -o message-content-type=html -o message-charset=utf8 -xu 215379068@qq.com -xp rtqnwthiqajdbihd -m "邮件发送成功"Jan 19 18:09:10 localhost sendEmail[2403]: Email was sent successfully!

澳门金沙国际 189

三.一.四 编写QQ邮件平台报告警察方脚本

[root@localhost alertscripts]# pwd/usr/local/zabbix/share/zabbix/alertscripts[root@localhost alertscripts]# cat sendmail.sh #!/bin/bash# author:Mr.chento=$1subject=$2body=$3from=215379068@qq.comsmtp=smtp.qq.compasswd=rtqnwthiqajdbihd/usr/local/bin/sendEmail -f "$from" -t "$to" -s "$smtp" -u "$subject" -o message-content-type=html -o message-charset=utf8 -xu "$from" -xp "$passwd" -m "$body"[root@localhost alertscripts]# chmod +x sendmail.sh [root@localhost alertscripts]# chown zabbix.zabbix sendmail.sh 

三.一.五 脚本测试

[root@localhost alertscripts]# sh sendmail.sh 215379068@qq.com "hello world" "新的一天"Jan 19 18:20:32 localhost sendEmail[2478]: Email was sent successfully!

澳门金沙国际 190

3.1.6 修改zabbix_server.conf配置文件

[root@localhost alertscripts]# cat -n /usr/local/zabbix/etc/zabbix_server.conf | grep "447"   447  # AlertScriptsPath=${datadir}/zabbix/alertscripts#将上述内容修改成如下所示[root@localhost alertscripts]# cat -n /usr/local/zabbix/etc/zabbix_server.conf | grep "447"   447  AlertScriptsPath=/usr/local/zabbix/share/zabbix/alertscripts#重启zabbix_server服务[root@localhost zabbix]# /etc/init.d/zabbix_server restartShutting down zabbix_server:                               [  OK  ]Starting zabbix_server:                                    [  OK  ]

3.壹.七 创设报警媒介

澳门金沙国际 191

澳门金沙国际 192

澳门金沙国际 193

澳门金沙国际 194

澳门金沙国际 195

三.一.捌 成立报警动作

澳门金沙国际 196

澳门金沙国际 197

澳门金沙国际 198

澳门金沙国际 199

手续1-三也正是从一从头到三得了。壹旦产生故障,便是举办sendmail.sh脚本发生报告警察方邮件给zabbix用户。
若果故障不断了一个钟头,它也只发送3回,第3-三遍邮箱发送给zabbix用户,时间距离为0秒。
假如改成1-0,0是表示不限制,Infiniti发送。

澳门金沙国际 200

澳门金沙国际 201

3.一.9 QQ邮件报告警察方测试

给自定义监察和控制项nginx.avtive创设八个触发器,如下

澳门金沙国际 202

动用Web进行走访,扩充活动连接数,触发报告警察方

澳门金沙国际 203

三.2 微信报告警察方平台

三.二.一 注册微信报告警察方平台并绑定微时域信号

集团号注册连接

澳门金沙国际 204

澳门金沙国际 205

澳门金沙国际 206

三.二.贰 编写微信平台报告警察方脚本

编写制定脚本前,大家必要先记住三个基本点的参数

企业的CorpID

澳门金沙国际 207

企业的Secret

澳门金沙国际 208

澳门金沙国际 209

部门ID号

澳门金沙国际 210

接下来大家就足以编写制定微信告警脚本了,如下:

[root@Zabbix_Server alertscripts]# cat weixin.sh #!/bin/bash# author:Mr.chenCropID="########"           #这里填写我们的应用的CropIDSecret="#######"            #这里是应用的Secret#下面的GURL和PURL地址无需改变,不用做任何变动GURL="https://qyapi.weixin.qq.com/cgi-bin/gettoken?corpid=$CropID&corpsecret=$Secret"Gtoken=`/usr/bin/curl -s -G $GURL | awk -F\" '{print $10}'`PURL="https://qyapi.weixin.qq.com/cgi-bin/message/send?access_token=$Gtoken"function body() {        local int AppID=1000002 #这里是创建的应用ID        local UserID=$1         #接收消息用户,系统传参        local PartyID=1         #接收消息的部门ID        local Msg=`echo "$@" | cut -d" " -f3-`        printf '{\n'        printf '\t"touser": "'"$UserID"\"",\n"        printf '\t"toparty": "'"$PartyID"\"",\n"        printf '\t"msgtype": "text",\n'        printf '\t"agentid": "'" $AppID "\"",\n"        printf '\t"text": {\n'        printf '\t\t"content": "'"$Msg"\""\n"        printf '\t},\n'        printf '\t"safe":"0"\n'        printf '}\n'}/usr/bin/curl --data-ascii "$(body $1 $2 $3)" $PURL

三.贰.三 脚本测试

[root@Zabbix_Server alertscripts]# chmod +x weixin.sh [root@Zabbix_Server alertscripts]# chown zabbix.zabbix weixin.sh [root@Zabbix_Server alertscripts]# sh weixin.sh yinsendemogui "题目" "报警内容"{"errcode":0,"errmsg":"ok","invaliduser":"#######"}

澳门金沙国际 211

澳门金沙国际 212

③.2.4 成立微信报告警察方媒介类型

澳门金沙国际 213

澳门金沙国际 214

澳门金沙国际 215

澳门金沙国际 216

澳门金沙国际 217

叁.2.伍 设定报告警察方动作

澳门金沙国际 218

澳门金沙国际 219

三.二.6 微信平台报告警察方测试

澳门金沙国际 220

澳门金沙国际 221

三.3 自定义自动报告警察方的内容

自定义内容样例

假使不修改报警的剧情格式,看起来太乱了。大家得以遵从如下格局修改

#告警通知格式样例#题目A故障:{TRIGGER.STATUS},服务器:{HOSTNAME1}发生:{TRIGGER.NAME}故障!#内容告警主机:&nbsp;{HOSTNAME1}<br/>告警时间:&nbsp;{EVENT.DATE} {EVENT.TIME}<br/>告警等级:&nbsp;{TRIGGER.SEVERITY}<br/>告警信息:&nbsp;{TRIGGER.NAME}<br/>告警项目:&nbsp;{TRIGGER.KEY1}<br/>问题详情:&nbsp;{ITEM.NAME}&nbsp{ITEM.VALUE}<br/>当前状态:&nbsp;{TRIGGER.STATUS}&nbsp{ITEM.VALUE1}<br/>事件ID:&nbsp;{EVENT.ID}

澳门金沙国际 222

样例测试

澳门金沙国际 223

四,用户参数User parameters

4.1 概述

有时当大家监察和控制的种类在Zabbix预约义的key中绝非概念时,这时候我们能够通过编写Zabbix的用户参数的法子来监督大家渴求的品类item。形象一点说Zabbix代理端配置文件中的User
parameters就也便是经过脚本获取要监督的值,然后把相关的剧本可能命令写入到安插文件中的User
parameter中,然后Zabbix
server读取配置文件中的再次回到值通过拍卖前端的章程赶回给用户。

用户参数的语法

UserParameter=<key>,<command>

里面,Userparameter为主要字,key为用户自定义key名字能够任由起,

二个简易的例子:

UserParameter=ping,echo 1

代理程序将会永世的回来一,当我们在服务器端增加item的key为ping的时候。

有个别复杂的例子:

UserParameter=mysql.ping,/usr/local/mysql/bin/mysqladmin ping | grep -c alive

  • 当我们执行mysqladmin -uroot
    ping命令的时候如若mysql存活要回到mysqld is alive,大家透过grep
    -c来计量mysqld is
    alive的个数,假诺mysql存活着,则个数为一,要是不共存很分明mysqld is
    alive的个数为0,通过那种措施大家得以来判别mysql的并存状态。
  • 当大家在劳务器端增多item的key为mysql.ping时候,对于Zabbix代理程序,假如mysql存活,则状态将回到一,不然,状态将重回0。

四.二 让key接受参数

让key也接受参数的艺术使item增加时更兼具了灵活性,比方系统预订义key:vm.memory.size[

相关语法:

UserParameter=key[*],command

#描述:key:key的值在主机系统中必须是唯一的,其中*代表命令中接受的参数command:客户端系统中可执行的命令#举例:UserParameter=ping[*],echo $1ping[0]:此时0就是*,也就是传入参数是0,$1也就是0,因此表达式将一直返回‘0’ping[aaa]:此时aaa就是*,也就是传入参数是aaa,$1也就是aaa,因此表达式将一直返回‘aaa’

四.三 让大家自定义二个足以传递参数的监督检查项

大家做3个得以依赖规范得到内部存款和储蓄器数值大小的监督项mem_check
当大家键值为mem_check[free]时,获取剩余可用内部存款和储蓄器大小
当我们键值为mem_check[used]时,获取实际据有内部存款和储蓄器大小
当大家键值为mem_check时,获取总内部存款和储蓄器大小

四.三.1 大家先构建一个获取数据的剧本

[root@Zabbix_Server ~]# mkdir -p /server/scripts[root@Zabbix_Server ~]# cd /server/scripts/[root@Zabbix_Server scripts]# cat mem_check #!/bin/bash# author:Mr.chencase $1 in    free)        echo "`free | awk 'NR==3{print $4}'`"        ;;    used)        echo "`free | awk 'NR==3{print $3}'`"        ;;    *)        echo "`free | awk 'NR==2{print $2}'`"        ;;esac

四.3.二 测试脚本

[root@Zabbix_Server scripts]# chmod +x mem_check [root@Zabbix_Server scripts]# chown zabbix.zabbix mem_check[root@Zabbix_Server scripts]# sh mem_check 1004412[root@Zabbix_Server scripts]# sh mem_check free782492[root@Zabbix_Server scripts]# sh mem_check used221912

4.三.三 后台自定义一个监察和控制项的键值

[root@Zabbix_Server ~]# cd /etc/zabbix/zabbix_agentd.d/[root@Zabbix_Server zabbix_agentd.d]# cat mem_check.conf UserParameter=mem.check[*],/server/scripts/mem_check $1

四.3.4 测试自定义的键值

#重启zabbix-agent客户端[root@Zabbix_Server zabbix_agentd.d]# /etc/init.d/zabbix-agent restartShutting down Zabbix agent:                                [  OK  ]Starting Zabbix agent:                                     [  OK  ][root@Zabbix_Server zabbix_agentd.d]# zabbix_get -s 192.168.0.220 -p 10050 -k "mem.check"1004412[root@Zabbix_Server zabbix_agentd.d]# zabbix_get -s 192.168.0.220 -p 10050 -k "mem.check[free]"782676[root@Zabbix_Server zabbix_agentd.d]# zabbix_get -s 192.168.0.220 -p 10050 -k "mem.check[used]"221744

4.3.5 前台自定义叁个监督检查项及触发器

进度略,此时本人信任同学们早已会了。请同学们融洽尝尝创制完整。

伍,Agentd主动形式与被动形式

暗许景况下,zabbix
server会直接去各种agent上抓取数据,那对于agent来讲,是被动情势,也是默许的一种获取数据的不二诀要,可是,当zabbix
server监察和控制主机数量过多的时候,由server端去抓取agent上的数额,zabbix
server会出现严重的习性难题,首要显示如下:

  • [x] :Web操作很卡,轻松出现50二
  • [x] :图层断裂
  • [x]
    :开启的长河太多,即便减少item数量,今后进入一定量的机械也会有标题

由此,下边主要往多少个优化趋势怀想:

  • [x] :用Proxy或然Node格局做布满式监察和控制
  • [x] :调解Agentd为主动情势

伍.1 Agentd的配置调节

修改zabbix_agentd.conf配置文件,注意是开采如下参数:

ServerActive=192.168.0.220Hostname=192.168.0.220StartAgents=1

ServerActive是钦命Agentd搜罗的数码往哪个地方发送,Hostname是必须求和zabbix
web端增多主机时的主机名对应起来,那样zabbix
server端接收到数量技术找到相应关系,那里为了合作被动格局,未有把StartAgents设为0,假若一开头正是使用主动格局的话提议把StartAgents设为0,关闭被动情势。

5.贰 zabbix Server端配置调节

假定翻开了agent端的积极向上发送数据情势,须求在zabbix
Server端修改如下多少个参数,保险品质。

StartPollers=10     #把这个zabbix Server主动收集数据进程减少一些。StartTrappers=200   #把这个负责处理Agentd推送过来的数据的进程开大一些。

伍.三 调节模版

  • 就此搜集数据的情势发生了转移,因而供给把具有的监察和控制项的档案的次序由原来的“zabbix客户端”改成“zabbix客户端”。
  • 如此那般,只需求轻便的几步,就完事了当仁不让情势的切换,调治过后服务器不卡了,图层不裂了,进度也少了。

澳门金沙国际 224

######################################################################################

一,Zabbix生产蒙受监测案例概述

一.一 项目统一准备

  • [x] :主机分组
    • 交换机
    • Nginx
    • Tomcat
    • MySQL
    • Apache
    • PHP-fpm
    • redis(也有情形页,同学们自身商讨)
    • memcache(也有气象页,同学们本身商量)
  • [x] :监察和控制目标志别:
    • 选取SNMP监控交流
    • 行使IPMI监察和控制服务器硬件
    • 选用Agent监察和控制服务器
    • 使用JMX监控JAVA
    • 澳门金沙国际 ,监控MySQL
    • 监控Web状态
    • 监控Nginx状态
    • 监控Apache状态
    • 监控Tomcat状态

1.二 SNMP监察和控制流程

  1. 沟通机上展开snmp
  2. 在zabbix上增添监察和控制(设置SNMP interfaces)
  3. 事关监察和控制模版

1.3 IPMI

建议利用自定义item监察和控制服务器硬件,在本土推行ipmitool命令来获取数据

可以在地点施行ipmitool命令获取数据

1.4 JMX(使用Zabbix Java Gateway代理)

用来收获java数据,此次的实战内容

壹.伍 实战监察和控制Nginx,Apache,MySQL,PHP-fpm

今日的实战内容,请同学们注意计算进程

1.6 Zabbix的Web监测

明天的实战内容,请同学们注意总括进程

二,Zabbix监察和控制MySQL数据库操作实战

咱俩要求配置三个MySQL服务和2个zabbix-agentd客户端

贰.1 编写监察和控制脚本

在nginx服务器(1玖二.16捌.0.2贰一)上安装二个MySQL
下边是监督检查mysql状态的二个shell脚本,内容如下:

[root@nginx scripts]# pwd/server/scripts[root@nginx scripts]# cat check_mysql.sh #!/bin/bash# author:Mr.chenMySQL_USER="root"MySQL_PWD="123123"MySQL_HOST="127.0.0.1"MySQL_PORT="3306"MySQL_CONN="/usr/local/mysql/bin/mysqladmin -u${MySQL_USER} -h${MySQL_HOST} -P${MySQL_PORT} -p${MySQL_PWD}"if [ $# -ne "1" ];then    echo "arg error!"ficase $1 in    Uptime)        result=`${MySQL_CONN} status | cut -f2 -d":" | cut -f1 -d "T"`        echo $result        ;;    Com_update)        result=`${MySQL_CONN} extended-status | grep -w "Com_update" | cut -d"|" -f3`        echo $result        ;;    Slow_querles)        result=`${MySQL_CONN} status | cut -f5 -d":" | cut -f1 -d"O"`        echo $result        ;;    Com_select)        result=`${MySQL_CONN} extended-status | grep -w "Com_select" | cut -d "|" -f3`        echo $result        ;;    Com_rollback)        result=`${MySQL_CONN} extended-status | grep -w "Com_rollback" | cut -d"|" -f3`        echo $result        ;;    Questions)        result=`${MySQL_CONN} status | cut -f4 -d":" | cut -f1 -d"S"`        echo $result        ;;    Com_insert)        result=`${MySQL_CONN} extended-status | grep -w "Com_insert" | cut -d"|" -f3`        echo $result        ;;    Com_delete)        result=`${MySQL_CONN} extended-status | grep -w "Com_delete" | cut -d"|" -f3`        echo $result        ;;    Com_commit)        result=`${MySQL_CONN} extended-status | grep -w "Com_commit" | cut -d"|" -f3`        echo $result        ;;    Bytes_sent)        result=`${MySQL_CONN} extended-status | grep -w "Bytes_sent" | cut -d"|" -f3`        echo $result        ;;    Bytes_received)        result=`${MySQL_CONN} extended-status | grep -w "Bytes_received" | cut -d"|" -f3`        echo $result        ;;    Com_begin)        result=`${MySQL_CONN} extended-status | grep -w "Com_begin" | cut -d"|" -f3`        echo $result        ;;    *)        echo "Usage:$0(Uptime|Com_update|Slow_querles|Com_rollback|Questions|Com_insert|Com_delete|Com_commit|Bytes_sent|Bytes_received|Com_begin)"        ;;esac

二.二 在zabbix-agent端创制自定义键值配置文件

#创建mysql.status的键值[root@nginx scripts]# chmod +x check_mysql.sh [root@nginx scripts]# chown zabbix.zabbix check_mysql.sh[root@nginx zabbix]# cd /etc/zabbix/zabbix_agentd.d/[root@nginx zabbix_agentd.d]# cat mysql_status.conf UserParameter=mysql.status[*],/server/scripts/check_mysql.sh $1#删除旧键值模版[root@nginx zabbix_agentd.d]# rm -rf userparameter_mysql.conf #创建mysql.ping和mysql.version的键值[root@nginx zabbix_agentd.d]# cat mysql_status.conf UserParameter=mysql.status[*],/server/scripts/check_mysql.sh $1UserParameter=mysql.ping,/usr/local/mysql/bin/mysqladmin -uroot -p123123 ping | grep -c aliveUserParameter=mysql.version,/usr/local/bin/mysql -V#重启zabbix-agentd服务[root@nginx zabbix_agentd.d]# /etc/init.d/zabbix-agent restartShutting down Zabbix agent:                                [  OK  ]Starting Zabbix agent:                                     [  OK  ]

2.三 在zabbix-server端测试键值

[root@Zabbix_Server scripts]# zabbix_get -s 192.168.0.221 -p 10050 -k "mysql.status[Uptime]"2791[root@Zabbix_Server scripts]# zabbix_get -s 192.168.0.221 -p 10050 -k "mysql.status[Com_commit]"0[root@Zabbix_Server scripts]# zabbix_get -s 192.168.0.221 -p 10050 -k "mysql.status[Bytes_sent]"144628[root@Zabbix_Server scripts]# zabbix_get -s 192.168.0.221 -p 10050 -k "mysql.status[Bytes_received]"3934[root@Zabbix_Server scripts]# zabbix_get -s 192.168.0.221 -p 10050 -k "mysql.ping"1[root@Zabbix_Server scripts]# zabbix_get -s 192.168.0.221 -p 10050 -k "mysql.version"/usr/local/bin/mysql  Ver 14.14 Distrib 5.5.32, for linux2.6  using readline 5.1

二.4 在zabbix-server端Web前台引进zabbix监察和控制MySQL的模板

zabbix自带监控MySQL的模版,大家只供给将模版引进到主机就可以
配置–>主机–>选拔主机–>模板,然后将MySQL模版连接到此主机就可以

澳门金沙国际 225

澳门金沙国际 226

澳门金沙国际 227

澳门金沙国际 228

澳门金沙国际 229

从图中得以窥见模版里的键值都以大家事先早已定义好了的键值。

3,Zabbix监察和控制Apache、Nginx操作实战

叁.一 实战监控Apache

三.一.1 源码编写翻译营造apache服务

#为了避免冲突,若系统中已经安装httpd服务,务必删除[root@apache ~]# rpm -q httpdpackage httpd is not installed[root@apache ~]# /etc/init.d/iptables stop[root@apache ~]# setenforce 0setenforce: SELinux is disabled#源码构建apache[root@apache httpd-2.2.17]# tar xf httpd-2.2.17.tar.gz -C /usr/src/[root@apache httpd-2.2.17]# cd /usr/src/httpd-2.2.17/[root@apache httpd-2.2.17]# ./configure --prefix=/usr/local/httpd --enable-so --enable-rewrite --enable-charset-lite --enable-cgi && make && make install[root@apache httpd-2.2.17]# cd /usr/local/httpd/[root@apache httpd]# lsbin  build  cgi-bin  conf  error  htdocs  icons  include  lib  logs  man  manual  modules[root@apache httpd]# ln -s /usr/local/httpd/bin/* /usr/local/bin/[root@apache httpd]# cp /usr/local/httpd/bin/apachectl /etc/init.d/httpd[root@apache httpd]# chmod +x /etc/init.d/httpd[root@apache ~]# cd /usr/local/httpd/htdocs/[root@apache htdocs]# echo "`hostname -I` I am apache" > index.html[root@apache htdocs]# cat index.html 192.168.0.222  I am apache[root@apache conf]# awk '/#ServerName/{print NR,$0}' httpd.conf 97 #ServerName www.example.com:80[root@apache conf]# sed -i -e '97 s/#//;s/example/yunjisuan/' httpd.conf [root@apache conf]# sed -n '97p' httpd.conf ServerName www.yunjisuan.com:80[root@apache conf]# /etc/init.d/httpd start[root@apache conf]# netstat -antup | grep httpdtcp        0      0 :::80                       :::*                        LISTEN      53288/httpd         [root@apache conf]# echo "`hostname -I` www.yunjisuan.com" >> /etc/hosts[root@apache conf]# tail -1 /etc/hosts192.168.0.222  www.yunjisuan.com[root@apache conf]# curl www.yunjisuan.com192.168.0.222  I am apache

3.1.2 开启apache状态页

要开荒apache的ServerStatus页面,要求在httpd.conf文件最上边加入代码段

ExtendedStatus On<location /server-status>SetHandler server-statusOrder Deny,AllowDeny from allAllow from 127.0.0.1</location>

最后,重启动apache即可

三.一.三 下载apache zabbix模版并解压

#从如下地址下载apache zabbix模版:[root@apache ~]# wget https://github.com/lorf/zapache/archive/master.zip#解压zip格式压缩文件[root@apache ~]# unzip master[root@apache ~]# ls -d zapache-masterzapache-master[root@apache ~]# cd zapache-master/[root@apache ~]# tree zapache-master/zapache-master/├── httpd-server-status.conf.sample├── README.md├── userparameter_zapache.conf.sample├── zapache├── zapache-template-active.xml└── zapache-template.xml0 directories, 6 files
  • 此模版文件中包含了监察和控制apache的剧本文件,zabbix的apache模版文件,还有客户端zabbix自定义传key文件。
  • 率先将zapache放到须求监控的apache服务器上的/etc/zabbix/scripts目录下,假诺没有scripts目录,自行制造一个就能够。然后实施授权:
[root@apache zapache-master]# chmod 755 /etc/zabbix/scripts/zapache[root@apache scripts]# cd /etc/zabbix/scripts/[root@apache scripts]# ./zapache zapache version: 1.5usage:  ./zapache [<url>] TotalAccesses                 - Check total accesses.  ./zapache [<url>] TotalKBytes                   - Check total KBytes.  ./zapache [<url>] CPULoad                       - Check CPU load.  ./zapache [<url>] Uptime                        - Check uptime.  ./zapache [<url>] ReqPerSec                     - Check requests per second.  ./zapache [<url>] BytesPerSec                   - Check Bytes per second.  ./zapache [<url>] BytesPerReq                   - Check Bytes per request.  ./zapache [<url>] BusyWorkers                   - Check busy workers.  ./zapache [<url>] IdleWorkers                   - Check idle workers.  ./zapache [<url>] version                       - Version of this script.  ./zapache [<url>] ping                          - Check if Apache is up.  ./zapache [<url>] WaitingForConnection          - Check Waiting for Connection processess.  ./zapache [<url>] StartingUp                    - Check Starting Up processess.  ./zapache [<url>] ReadingRequest                - Check Reading Request processess.  ./zapache [<url>] SendingReply                  - Check Sending Reply processess.  ./zapache [<url>] KeepAlive                     - Check KeepAlive Processess.  ./zapache [<url>] DNSLookup                     - Check DNSLookup Processess.  ./zapache [<url>] ClosingConnection             - Check Closing Connection Processess.  ./zapache [<url>] Logging                       - Check Logging Processess.  ./zapache [<url>] GracefullyFinishing           - Check Gracefully Finishing Processess.  ./zapache [<url>] IdleCleanupOfWorker           - Check Idle Cleanup of Worker Processess.  ./zapache [<url>] OpenSlotWithNoCurrentProcess  - Check Open Slots with No Current Process.
  • 接着将userparameter_zapache.conf.sample文件放到/etc/zabbix/zabbix_agentd.d目录下,玉石俱焚命名称为userparameter_zapache.conf文件,然后修改键值命令的门径。
  • 最后,重启zabbix-agent服务
[root@apache zapache-master]# mv userparameter_zapache.conf.sample /etc/zabbix/zabbix_agentd.d/userparameter_zapache.conf[root@apache zabbix_agentd.d]# tail -1 userparameter_zapache.conf UserParameter=zapache[*],/etc/zabbix/scripts/zapache \$1    #本行要修改[root@apache zapache-master]# /etc/init.d/zabbix-agent restartShutting down Zabbix agent:                                [  OK  ]Starting Zabbix agent:                                     [  OK  ]

三.1.四 测试键值

#在zabbix-agent端查看脚本用法[root@apache zabbix_agentd.d]# cd /etc/zabbix/scripts/[root@apache scripts]# ./zapache zapache version: 1.5usage:  ./zapache [<url>] TotalAccesses                 - Check total accesses.  ./zapache [<url>] TotalKBytes                   - Check total KBytes.  ./zapache [<url>] CPULoad                       - Check CPU load.  ./zapache [<url>] Uptime                        - Check uptime.  ./zapache [<url>] ReqPerSec                     - Check requests per second.  ./zapache [<url>] BytesPerSec                   - Check Bytes per second.  ./zapache [<url>] BytesPerReq                   - Check Bytes per request.  ./zapache [<url>] BusyWorkers                   - Check busy workers.  ./zapache [<url>] IdleWorkers                   - Check idle workers.  ./zapache [<url>] version                       - Version of this script.  ./zapache [<url>] ping                          - Check if Apache is up.  ./zapache [<url>] WaitingForConnection          - Check Waiting for Connection processess.  ./zapache [<url>] StartingUp                    - Check Starting Up processess.  ./zapache [<url>] ReadingRequest                - Check Reading Request processess.  ./zapache [<url>] SendingReply                  - Check Sending Reply processess.  ./zapache [<url>] KeepAlive                     - Check KeepAlive Processess.  ./zapache [<url>] DNSLookup                     - Check DNSLookup Processess.  ./zapache [<url>] ClosingConnection             - Check Closing Connection Processess.  ./zapache [<url>] Logging                       - Check Logging Processess.  ./zapache [<url>] GracefullyFinishing           - Check Gracefully Finishing Processess.  ./zapache [<url>] IdleCleanupOfWorker           - Check Idle Cleanup of Worker Processess.  ./zapache [<url>] OpenSlotWithNoCurrentProcess  - Check Open Slots with No Current Process.

小编们开掘脚本需求传递八个参数,即url和抉择
下一场大家在zabbix-server端进行键值测试

[root@Zabbix_Server scripts]# zabbix_get -s 192.168.0.222 -p 10050 -k "zapache[127.0.0.1 TotalAccesses]"9[root@Zabbix_Server scripts]# zabbix_get -s 192.168.0.222 -p 10050 -k "zapache[www.yunjisuan.com version]"1.5[root@Zabbix_Server scripts]# zabbix_get -s 192.168.0.222 -p 10050 -k "zapache[www.yunjisuan.com ping]"1

三.一.伍 在zabbix-server的Web页面上监察和控制apache

开创三个监察和控制apache的主机

澳门金沙国际 230

澳门金沙国际 231

导入带有apache监察和控制项的沙盘

zabbix默许并不曾监控apache的监察项模版。大家要求将它导入到apache中。在头里解压出来的目录中,有待导入的web模版

[root@apache ~]# tree zapache-master/zapache-master/├── httpd-server-status.conf.sample├── README.md├── zapache-template-active.xml #Web模版└── zapache-template.xml    #Web模版0 directories, 4 files

咱俩将那多个.xml后缀的拷贝到windows上,然后从Web界面导入进去

澳门金沙国际 232

澳门金沙国际 233

导入未来Web端就有监察和控制apache的监督项模版了

将模版链接到apache主机

澳门金沙国际 234

澳门金沙国际 235

澳门金沙国际 236

三.贰 实战监察和控制nginx

3.2.1 开启nginx状态页

#在nginx的配置文件中,添加status配置location = /nginx-status {    stub_status on;    access_log  off;    allow 127.0.0.1;    allow 192.168.0.220;    #zabbix服务器地址一般是内网地址    deny all;}

三.二.贰 访问设置好的nginx-status链接

#在zabbix-server上通过如下方式获取nginx状态页面信息:root@Zabbix_Server ~]# curl 192.168.0.221/nginx-statusActive connections: 1 server accepts handled requests 634 634 618 Reading: 0 Writing: 1 Waiting: 0 nginx status详细说明如下:Active connections:对后端发起的活动连接数;accepts:nginx总共处理了多少个连接;handled:nginx成功创建了几次握手;requests:nginx总共处理了多少请求。Reading:nginx读取客户端的header数;Writing:nginx返回给客户端的header数;Waiting:nginx请求处理完成,正在等待下一请求指令的连接

三.2.叁 编写nginx状态监察和控制脚本

#下面是nginx状态监控抓取脚本,内容如下:[root@nginx scripts]# cat nginx_status.sh #!/bin/bash# Set VariablesHOST="127.0.0.1"PORT="80"#Functions to return nginx statsfunction active(){    /usr/bin/curl "http://$HOST:$PORT/nginx-status" 2>/dev/null | grep "Active" | awk '{print $NF}'}function reading(){    /usr/bin/curl "http://$HOST:$PORT/nginx-status" 2>/dev/null | grep "Reading" | awk '{print $2}'}function writing(){    /usr/bin/curl "http://$HOST:$PORT/nginx-status" 2>/dev/null | grep "Writing" | awk '{print $4}'}function accepts(){    /usr/bin/curl "http://$HOST:$PORT/nginx-status" 2>/dev/null | awk 'NR==3' | awk '{print $1}'}function handled(){    /usr/bin/curl "http://$HOST:$PORT/nginx-status" 2>/dev/null | awk 'NR==3' | awk '{print $2}'}function requests(){    /usr/bin/curl "http://$HOST:$PORT/nginx-status" 2>/dev/null | awk 'NR==3' | awk '{print $3}'}function ping(){    /sbin/pidof nginx | wc -l}# Run the requested function$1

三.二.4 给脚本可实行权限并且授权

[root@nginx scripts]# chmod +x nginx_status.sh [root@nginx scripts]# chown zabbix.zabbix nginx_status.sh

叁.②.伍 在zabbix-agent端配置nginx键值配置文件

[root@nginx zabbix_agentd.d]# pwd/etc/zabbix/zabbix_agentd.d[root@nginx zabbix_agentd.d]# cat nginx.conf UserParameter=nginx.active,/usr/bin/curl -s "http://127.0.0.1:80/nginx-status" | grep "Active" | awk '{print $NF}'UserParameter=nginx.status[*],/etc/zabbix/scripts/nginx_status.sh $1#重启agent客户端[root@nginx zabbix_agentd.d]# /etc/init.d/zabbix-agent restartShutting down Zabbix agent:                                [  OK  ]Starting Zabbix agent:                                     [  OK  ]

3.二.六 在zabbix-server端测试键值

[root@Zabbix_Server ~]# zabbix_get -s 192.168.0.221 -k "nginx.status[reading]" -p 100500[root@Zabbix_Server ~]# zabbix_get -s 192.168.0.221 -k "nginx.status[active]" -p 100501[root@Zabbix_Server ~]# zabbix_get -s 192.168.0.221 -k "nginx.status[reading]" -p 100500[root@Zabbix_Server ~]# zabbix_get -s 192.168.0.221 -k "nginx.status[writing]" -p 100501[root@Zabbix_Server ~]# zabbix_get -s 192.168.0.221 -k "nginx.status[ping]" -p 100501

3.二.7 接下去大家要求在Web端导入nginx监察和控制模版

澳门金沙国际 237

澳门金沙国际 238

澳门金沙国际 239

澳门金沙国际 240

3.贰.八 至极调节和测试

只要Zabbix图形分界面一向未有获得到数码,能够经过在zabbix
server上实践zabbix_get手动测试:
/usr/local/zabbix/bin/zabbix_get -s 192.168.0.221 -p 10050 -k "nginx.status[active]"
若是获取数据相当,会交到相应提醒,要是能够取获得多少,那就没难题了。

4,Zabbix监察和控制汤姆cat操作实战

zabbix监控tomcat,需要zabbix_server开启java
poller,zabbix_java开启javaGateway,端口1005二,汤姆cat
JMX开启1234伍端口,提供质量数据。

数据获取流程为:java poller<-->javaGateway:10052<-->Tomcat:12345

澳门金沙国际 241

4.1 配置Tomcat JMX

#配置jmx,在需要监控的tomcat服务器上,编辑catalina.sh,加入如下配置[root@Tomcat bin]# sed -n '249p' /usr/local/tomcat/bin/catalina.sh CATALINA_OPTS="-server -Xms256m -Xmx512m -XX:PermSize=64M -XX:MaxPermSize=128m -Dcom.sun.management.jmxremote -Dcom.sun.management.jmxremote.authenticate=false -Dcom.sun.management.jmxremote.ssl=false -Djava.rmi.server.hostname=192.168.0.224 -Dcom.sun.management.jmxremote.port=12345"

这边必要注意,必须增添-Djava.rmi.server.hostname选项,并且前面包车型大巴IP正是tomcat服务器的IP

4.2 重启Tomcat

[root@Tomcat bin]# /usr/local/tomcat/bin/shutdown.sh Using CATALINA_BASE:   /usr/local/tomcatUsing CATALINA_HOME:   /usr/local/tomcatUsing CATALINA_TMPDIR: /usr/local/tomcat/tempUsing JRE_HOME:        /usr/local/jdkUsing CLASSPATH:       /usr/local/tomcat/bin/bootstrap.jar:/usr/local/tomcat/bin/tomcat-juli.jar[root@Tomcat ~]# netstat -antup | grep java[root@Tomcat bin]# /usr/local/tomcat/bin/startup.sh Using CATALINA_BASE:   /usr/local/tomcatUsing CATALINA_HOME:   /usr/local/tomcatUsing CATALINA_TMPDIR: /usr/local/tomcat/tempUsing JRE_HOME:        /usr/local/jdkUsing CLASSPATH:       /usr/local/tomcat/bin/bootstrap.jar:/usr/local/tomcat/bin/tomcat-juli.jarTomcat started.[root@Tomcat zabbix]# netstat -antup | grep javatcp        0      0 :::54031                    :::*                        LISTEN      1521/java           tcp        0      0 :::8080                     :::*                        LISTEN      1521/java           tcp        0      0 :::53881                    :::*                        LISTEN      1521/java           tcp        0      0 :::12345                    :::*                      LISTEN      1521/java          #新增端口 tcp        0      0 ::ffff:127.0.0.1:8005       :::*                        LISTEN      1521/java           tcp        0      0 :::8009                     :::*                        LISTEN      1521/java       

4.3 编译zabbix,加入java支持

在zabbix
server服务器上,编写翻译安装zabbix-server,需求加上–enable-java,以支撑jmx监察和控制,即便在此以前的zabbix
server没加此选项,那么要求再度编译安装,编写翻译参数如下:

./configure --prefix=/usr/local/zabbix --with-mysql --with-net-snmp --with-libcurl --enable-server --enable-agent --enable-proxy --enable-java --with-libxml2

特别提示:
在启用–enable-java编写翻译zabbix以前,zabbix
server服务器上须求安装JDK,并索要设置JAVA_HOME,以让系统能够分辨到jdk的门路

4.3.1 在zabbix-server端安装JDK

#解压jdk[root@Zabbix_Server ~]# tar xf jdk-8u60-linux-x64.tar.gz -C /usr/local/[root@Zabbix_Server ~]# ln -s /usr/local/jdk1.8.0_60/ /usr/local/jdk#配置java环境变量[root@Zabbix_Server ~]# sed -i.ori '$a export JAVA_HOME=/usr/local/jdk\nexport PATH=$JAVA_HOME/bin:$JAVA_HOME/jre/bin:$PATH\nexport CLASSPATH=.$CLASSPATH:$JAVA_HOME/lib:$JAVA_HOME/lib/tools.jar' /etc/profile[root@Zabbix_Server ~]# tail -3 /etc/profileexport JAVA_HOME=/usr/local/jdkexport PATH=$JAVA_HOME/bin:$JAVA_HOME/jre/bin:$PATHexport CLASSPATH=.$CLASSPATH:$JAVA_HOME/lib:$JAVA_HOME/lib/tools.jar#让环境变量立刻生效[root@Zabbix_Server ~]# source /etc/profile#检查java环境变量情况[root@Zabbix_Server ~]# which java/usr/local/jdk/bin/java[root@Zabbix_Server ~]# java -versionjava version "1.8.0_60"Java SE Runtime Environment (build 1.8.0_60-b27)Java HotSpot 64-Bit Server VM (build 25.60-b23, mixed mode)

四.三.贰 重新编写翻译zabbix-server服务器端

#重新编译zabbix-server服务器端之前[root@Zabbix_Server ~]# ll /usr/local/zabbix/sbin/total 8604-rwxr-xr-x 1 root root 1165774 Jan 20 15:16 zabbix_agentd-rwxr-xr-x 1 root root 3672055 Jan 20 15:16 zabbix_proxy-rwxr-xr-x 1 root root 3966037 Jan 20 15:16 zabbix_server#开始重新编译zabbix-server服务器端[root@Zabbix_Server ~]# [root@Zabbix_Server ~]# /etc/init.d/zabbix_server stopShutting down zabbix_server:                               [  OK  ][root@Zabbix_Server ~]# cd /usr/src/zabbix-3.2.4/[root@Zabbix_Server zabbix-3.2.4]# ./configure --prefix=/usr/local/zabbix --with-mysql --with-net-snmp --with-libcurl --enable-server --enable-agent --enable-proxy --enable-java --with-libxml2[root@Zabbix_Server zabbix-3.2.4]# make && make install#重新编译zabbix-server服务器端之后[root@Zabbix_Server zabbix-3.2.4]# cd /usr/local/zabbix/sbin/[root@Zabbix_Server sbin]# lltotal 8608-rwxr-xr-x 1 root root 1165774 Jan 25 22:22 zabbix_agentddrwxr-xr-x 4 root root    4096 Jan 25 22:22 zabbix_java     #多了一个目录-rwxr-xr-x 1 root root 3672055 Jan 25 22:22 zabbix_proxy-rwxr-xr-x 1 root root 3966037 Jan 25 22:22 zabbix_server[root@Zabbix_Server sbin]# cd zabbix_java/[root@Zabbix_Server zabbix_java]# lltotal 20drwxr-xr-x 2 root root 4096 Jan 25 22:22 bindrwxr-xr-x 2 root root 4096 Jan 25 22:22 lib-rw-r--r-- 1 root root  791 Jan 25 22:22 settings.sh    #java gateway配置脚本-rwxr-xr-x 1 root root  545 Jan 25 22:22 shutdown.sh    #停止java gateway服务-rwxr-xr-x 1 root root 2025 Jan 25 22:22 startup.sh     #启动java gateway服务

提示:
java gateway劳动的配备脚本settings.sh不需求修改任何配置。

4.3.3 启动java Gateway服务

[root@Zabbix_Server zabbix_java]# /usr/local/zabbix/sbin/zabbix_java/startup.sh [root@Zabbix_Server zabbix_java]# netstat -antup | grep 10052tcp        0      0 :::10052                    :::*                        LISTEN      13126/java 

4.4 修改zabbix server 配置

暗许的情形下,zabbix
server未启用javaPollers,供给修改zabbix_server.conf的如下配置

[root@Zabbix_Server zabbix]# cd /usr/local/zabbix/etc/#修改以下配置文件的内容[root@Zabbix_Server etc]# cat -n zabbix_server.conf | sed -n '215p;223p;231p'   215  # JavaGateway=   223  # JavaGatewayPort=10052   231  # StartJavaPollers=0#将上述配置文件内容修改成如下[root@Zabbix_Server etc]# cat -n zabbix_server.conf | sed -n '215p;223p;231p'   215  JavaGateway=127.0.0.1   #JavaGateway的地址   223  JavaGatewayPort=10052   231  StartJavaPollers=5#查看已经打开的java poller进程[root@Zabbix_Server ~]# ps -ef | grep "java poller" | grep -v grepzabbix    13233  13172  0 Jan25 ?        00:00:00 /usr/local/sbin/zabbix_server: java poller #1 [got 0 values in 0.000001 sec, idle 5 sec]zabbix    13234  13172  0 Jan25 ?        00:00:00 /usr/local/sbin/zabbix_server: java poller #2 [got 0 values in 0.000015 sec, idle 5 sec]zabbix    13235  13172  0 Jan25 ?        00:00:00 /usr/local/sbin/zabbix_server: java poller #3 [got 0 values in 0.000001 sec, idle 5 sec]zabbix    13236  13172  0 Jan25 ?        00:00:00 /usr/local/sbin/zabbix_server: java poller #4 [got 0 values in 0.000001 sec, idle 5 sec]zabbix    13237  13172  0 Jan25 ?        00:00:00 /usr/local/sbin/zabbix_server: java poller #5 [got 0 values in 0.000001 sec, idle 5 sec]

4.5 重启zabbix_server服务

[root@Zabbix_Server ~]# /etc/init.d/zabbix_server startStarting zabbix_server:                                    [  OK  ][root@Zabbix_Server ~]# netstat -antup | grep 10051tcp        0      0 0.0.0.0:10051               0.0.0.0:*                   LISTEN      13172/zabbix_server tcp        0      0 192.168.0.220:10051         192.168.0.221:56752         TIME_WAIT   -                   tcp        0      0 192.168.0.220:10051         192.168.0.221:56754         TIME_WAIT   -                   tcp        0      0 192.168.0.220:10051         192.168.0.221:56751         TIME_WAIT   -                   tcp        0      0 192.168.0.220:10051         192.168.0.220:47162         TIME_WAIT   -           

四.陆 Zabbix图形分界面配置

4.6.一 创造一个主机利用JMX接口监察和控制tomcat被监察和控制端

澳门金沙国际 242

澳门金沙国际 243

4.6.2 导入zabbix监控tomcat的模版

因为Zabbix自带的汤姆cat模版有包容性难题,并倒霉用,由此,大家导入自个儿创立的监督项模版

澳门金沙国际 244

澳门金沙国际 245

澳门金沙国际 246

澳门金沙国际 247

终非常大家关系模版就可以。

澳门金沙国际 248

5,Zabbix监控PHP-FPM操作实战

php-fpm和nginx一样内建了1个场所页,对于想通晓php-fpm的动静以及监理php-fpm分外有扶持

五.1 启用php-fpm状态效率

修改php-fpm配置文件,确定保障如下配置是张开状态:
pm.status_path = /status,具体操作如下

#在Zabbix-server端操作如下[root@Zabbix_Server etc]# pwd/usr/local/php/etc[root@Zabbix_Server etc]# lspear.conf  php-fpm.conf  php-fpm.conf.default  php.ini[root@Zabbix_Server etc]# sed -n '360p' php-fpm.conf;pm.status_path = /status[root@Zabbix_Server etc]# vim php-fpm.conf +360[root@Zabbix_Server etc]# sed -n '360p' php-fpm.confpm.status_path = /status#重启php-fpm服务[root@Zabbix_Server ~]# netstat -antup | grep php-fpmtcp        0      0 127.0.0.1:9000              0.0.0.0:*                   LISTEN      1145/php-fpm[root@Zabbix_Server ~]# pkill php-fpm[root@Zabbix_Server ~]# netstat -antup | grep 9000[root@Zabbix_Server ~]# /usr/local/php/sbin/php-fpm [root@Zabbix_Server ~]# netstat -antup | grep php-fpmtcp        0      0 127.0.0.1:9000              0.0.0.0:*                   LISTEN      18918/php-fpm

五.2 nginx配置php-fpm状态页面

在nginx配置文件nginx.conf里安插php状态页,操作如下

[root@Zabbix_Server ~]# cd /usr/local/nginx/[root@Zabbix_Server nginx]# lsclient_body_temp  conf  fastcgi_temp  html  logs  proxy_temp  sbin  scgi_temp  uwsgi_temp#配置php-fpm状态页面[root@Zabbix_Server nginx]# vim conf/nginx.conf[root@Zabbix_Server nginx]# cat conf/nginx.confworker_processes  1;events {    worker_connections  1024;}http {    include       mime.types;    default_type  application/octet-stream;    sendfile        on;    keepalive_timeout  65;    server {        listen       80;        server_name  localhost;        location / {            root   html;            index  index.php index.html index.htm;        }        location = /nginx-status {            stub_status on;            access_log off;        }        location = /status {         #添加此location            include fastcgi_params;            fastcgi_pass 127.0.0.1:9000;            fastcgi_param SCRIPT_FILENAME $fastcgi_script_name;        }        location ~ \.php$ {            fastcgi_pass 127.0.0.1:9000;            fastcgi_index index.php;            fastcgi_param SCRIPT_FILENAME $document_root$fastcgi_script_name;            include fastcgi_params;        }    }}#重启动nginx服务[root@Zabbix_Server nginx]# nginx -tnginx: the configuration file /usr/local/nginx/conf/nginx.conf syntax is oknginx: configuration file /usr/local/nginx/conf/nginx.conf test is successful[root@Zabbix_Server nginx]# /usr/local/nginx/sbin/nginx -s reload

5.3 状态页浏览器访问测试

php-fpm状态页相比较特性化的1个地方是它能够带参数,可以带的参数有json、xml、html,使用zabbix只怕nagios监察和控制可以设想采纳xml也许暗中同意方式。

澳门金沙国际 249

#具体含义说明如下[root@Zabbix_Server nginx]# curl 127.0.0.1/statuspool:                 www           #fpm进程池名称,大多数为wwwprocess manager:      dynamic       #进程管理方式(static,dynamic or nodemand.dynamic)start time:           26/Jan/2018:02:56:58 -0500    #启动日期start since:          2972          #运行时长accepted conn:        517           #当前FPM进程池接受的请求数listen queue:         0             #请求等待队列,如果值不是0,那么要增加FPM的进程数max listen queue:     4             #请求等待队列最高的数量listen queue len:     128           #socket等待队列长度idle processes:       2             #空闲进程数量active processes:     1             #活跃进程数量total processes:      3             #总进程数量max active processes: 3             #最大的活跃进程数量max children reached: 0             #达到最大子进程的次数,如果值不为0,那么需要调高最大进程数slow requests:        0             #当启用了php-fpm的slow-log功能时,如果出现php-fpm慢请求这个计数器会增加,一般不当的MySQL查询会触发这个值

别的状态参数字显示示格局的数据(json,xml,html)

#以xml的格式输出PHP-fpm状态页[root@Zabbix_Server nginx]# curl 127.0.0.1/status?xml<?xml version="1.0" ?><status><pool>www</pool><process-manager>dynamic</process-manager><start-time>1516953418</start-time><start-since>3731</start-since><accepted-conn>647</accepted-conn><listen-queue>0</listen-queue><max-listen-queue>4</max-listen-queue><listen-queue-len>128</listen-queue-len><idle-processes>2</idle-processes><active-processes>1</active-processes><total-processes>3</total-processes><max-active-processes>3</max-active-processes><max-children-reached>0</max-children-reached><slow-requests>0</slow-requests>#以json的格式输出PHP-fpm的状态页</status>[root@Zabbix_Server nginx]# curl 127.0.0.1/status?json{"pool":"www","process manager":"dynamic","start time":1516953418,"start since":3736,"accepted conn":648,"listen queue":0,"max listen queue":4,"listen queue len":128,"idle processes":2,"active processes":1,"total processes":3,"max active processes":3,"max children reached":0,"slow requests":0}[root@Zabbix_Server nginx]# #以html的格式输出PHP-fpm的状态页[root@Zabbix_Server nginx]# curl 127.0.0.1/status?html<!DOCTYPE html PUBLIC "-//W3C//DTD XHTML 1.0 Strict//EN" "http://www.w3.org/TR/xhtml1/DTD/xhtml1-strict.dtd"><html xmlns="http://www.w3.org/1999/xhtml" xml:lang="en" lang="en"><head><title>PHP-FPM Status Page</title></head><body><table><tr><th>pool</th><td>www</td></tr><tr><th>process manager</th><td>dynamic</td></tr><tr><th>start time</th><td>26/Jan/2018:02:56:58 -0500</td></tr><tr><th>start since</th><td>3748</td></tr><tr><th>accepted conn</th><td>650</td></tr><tr><th>listen queue</th><td>0</td></tr><tr><th>max listen queue</th><td>4</td></tr><tr><th>listen queue len</th><td>128</td></tr><tr><th>idle processes</th><td>2</td></tr><tr><th>active processes</th><td>1</td></tr><tr><th>total processes</th><td>3</td></tr><tr><th>max active processes</th><td>3</td></tr><tr><th>max children reached</th><td>0</td></tr><tr><th>slow requests</th><td>0</td></tr></table></body></html>

5.四 在Zabbix agent端修改配置

在创造Zabbix的agent端键值配置文件的时候,我们能够设想接纳PHP-fpm状态页的差别输出格式来抓取多少。比如大家运用xml格式获取数据,操作如下:

#查看xml格式PHP-fpm状态页数据root@Zabbix_Server nginx]# curl 127.0.0.1/status?xml<?xml version="1.0" ?><status><pool>www</pool><process-manager>dynamic</process-manager><start-time>1516953418</start-time><start-since>3731</start-since><accepted-conn>647</accepted-conn><listen-queue>0</listen-queue><max-listen-queue>4</max-listen-queue><listen-queue-len>128</listen-queue-len><idle-processes>2</idle-processes><active-processes>1</active-processes><total-processes>3</total-processes><max-active-processes>3</max-active-processes><max-children-reached>0</max-children-reached><slow-requests>0</slow-requests>#创建zabbix监控的agent端键值配置文件[root@Zabbix_Server ~]# cd /etc/zabbix/zabbix_agentd.d/[root@Zabbix_Server zabbix_agentd.d]# cat userparameter_php-fpm.conf UserParameter=php-fpm.status[*],/usr/bin/curl -s "http://127.0.0.1/status?xml" | grep "<$1>" | awk -F "[>|<]" '{print $$3}'    #这里需要注意在脚本里如果写成$3的话,脚本会认识是一个变量,因此我们需要用$$3#重启动agent客户端[root@Zabbix_Server ~]# /etc/init.d/zabbix-agent restartShutting down Zabbix agent:                                [  OK  ]Starting Zabbix agent:                                     [  OK  ]

五.5 实行键值配置文件测试

[root@Zabbix_Server zabbix_agentd.d]# zabbix_get -s 192.168.0.220 -p 10050 -k "php-fpm.status[process-manager]"dynamic[root@Zabbix_Server zabbix_agentd.d]# zabbix_get -s 192.168.0.220 -p 10050 -k "php-fpm.status[start-since]"5634[root@Zabbix_Server zabbix_agentd.d]# zabbix_get -s 192.168.0.220 -p 10050 -k "php-fpm.status[active-processes]"1

伍.六 Zabbix图形分界面导入咱们的监督检查模版

澳门金沙国际 250

澳门金沙国际 251

陆,Zabbix的Web监测功用

Zabbix的Web监测功效,未有其他借助,不需求agent端,全体借助于Server的能动监测

利用Web监测,监测Server端的nginx首页

澳门金沙国际 252

澳门金沙国际 253

澳门金沙国际 254

澳门金沙国际 255

澳门金沙国际 256

澳门金沙国际 257

澳门金沙国际 258

到这边Web监测大家就创设好了,最终再看一下监察结果

澳门金沙国际 259

7,思虑与学业

请同学们在Zabbix监察和控制MySQL的沙盘示例的基础上,自定义四个督察数据库主从复制的监察项

IP地址 主机名 用途
192.168.0.220 Zabbix_Server服务器 Zabbix监控端/主MySQL
192.168.0.221 Nginx服务器 Nginx服务器/从MySQL

相关文章