二监督检查数据库的连接数

By admin in 美高梅手机版4858 on 2019年4月16日

下载客户端

一,Zabbix架构

zabbix 是3个依照 WEB
分界面包车型大巴提供分布式系统监视以及网络监视功用的商店级的开源消除方案。zabbix
能监视各类互连网参数,有限支持服务器系统的安全运会营;并提供灵活的通知机制以让系统一管理理员火速稳定/消除存在的各样难点。

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

美高梅手机版4858 1

zabbix自定义监察和控制项

一、创制主机组,能够根据redis、mysql、web等创制对于的主机组

美高梅手机版4858 2

2、成立主机

美高梅手机版4858 3

3、创建Screens

美高梅手机版4858 4

美高梅手机版4858 5

四、自定义监察和控制项

zabbix_agentd.conf配置文件定义路线

美高梅手机版4858 6

cd/etc/zabbix/zabbix_agentd.d

概念2个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

美高梅手机版4858 7

美高梅手机版4858 8

美高梅手机版4858 9

创办趋势图

美高梅手机版4858 10

美高梅手机版4858 11

在分布式监察和控制系统Zabbix三.二跳坑指南和分布式监察和控制系统Zabbix3.二给那一个增多邮件报告警察方早就介绍了怎么着设置以及报告警察方。此篇通过介绍监察和控制数据库的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代理)

三种类型:
无密码验证、用户名密码认证、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

美高梅手机版4858 12

开发银行四个进度轮询zabbix-java-gateway

美高梅手机版4858 13

6)重启zabbix_server

systemctl
restart zabbix-server

美高梅手机版4858 14

监控tomcat案例

美高梅手机版4858 15

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

如何张开tomcat
JMX远程监察和控制

vimcatalina.sh

美高梅手机版4858 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 检查端口

美高梅手机版4858 17

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

美高梅手机版4858 18

zabbix添加jmx

美高梅手机版4858 19

美高梅手机版4858 20

服务器硬件音讯监察和控制IPMI

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

网络设施SNMP

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

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

3)关联监控模板

美高梅手机版4858 21

充裕督察脚本

1.2 进程

暗许情状下zabbix包罗八个程序: zabbix_agentd、 zabbix_get、
zabbix_proxy、 zabbix_sender、zabbix_server,其余3个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

zabbix二.0 之后引进的三个效应。顾名思义:Java 网关,类似
agentd,然而只用于
Java方面。必要越发注意的是,它只可以积极去获取数据,而不能够被动获取数据。
它的多寡最后会给到server只怕proxy。

**自定义督察脚本**

创办脚本zabbix_linux_plugin.sh

设置权限chmod
777 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]

页面创立模板

美高梅手机版4858 22

在新建的模板中创建items

美高梅手机版4858 23

美高梅手机版4858 24

在新建的模版中创立视图

美高梅手机版4858 25

模板创立完毕导出内容nginx_美高梅手机版4858 ,export_templates.xml

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

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

一.叁 zabbix监察和控制环境中相关术语

  • 主机 :

要监督的互联网设施,可由 IP 或 DNS 名称钦点;

  • 主机组(host group):

主机的逻辑容器,能够涵盖主机和模板,但同3个共青团和少先队内的主机和模板无法互相链接;主机组平日在给用户或用户组指派监察和控制权限期行使;

 监控项 :

多少个特定监控指标的有关的数码;那么些多少来源于于被监察和控制目的;item是 zabbix
进行数据收集的主干,相对某些监察和控制目标,每种 item 都由”key”标志;

 触发器 :

2个表明式,用于评估某监察和控制目的的一定 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

美高梅手机版4858 26

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

美高梅手机版4858 27

新建触发器

美高梅手机版4858 28

美高梅手机版4858 29

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

 bin目录里有3十几个人和61人几个文本夹、依照自身的系统挑选版本(那里是六十三人系统)、里面包车型客车多个文件复制到zabbix文件夹中

二,ZabbixServer的安装

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

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

美高梅手机版4858 30

短信通道可接纳如:Ali超过

二、在页面增添脚本调用

美高梅手机版4858 31

美高梅手机版4858 32

修改Action

美高梅手机版4858 33

修改User

美高梅手机版4858 34

内容如下:

将conf里面包车型大巴公文复制到C盘下,重命名称叫zabbix_agentd.conf

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

美高梅手机版4858 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

美高梅手机版4858 36

将/var/lib/zabbix/percona/templates/zabbix_agent_template_percona_mysql_server_ht_二监督检查数据库的连接数。二.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

美高梅手机版4858 37

?

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

美高梅手机版4858 38

备考:那几个mysql监察和控制脚本会在/tmp下生成临时文件,假诺刚才用root账号推行过剧本,会冒出权力难题

美高梅手机版4858 39

缓解格局:更动文件的属主
chown zabbix:zabbix localhost-mysql_cacti_stats.txt

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

修改zabbix_agentd.conf配置

二.二 编写翻译安装LNMP环境

WEB监控

以tomcat为例

美高梅手机版4858 40

美高梅手机版4858 41

美高梅手机版4858 42

美高梅手机版4858 43

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

适用场景:

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

2、多机房,防火墙

那个剧本很简短,便是获得330陆端口已经创制的三番五次,并用“wc
-l”来总括1共有点行,总之最终回到的是2个平头

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来说

  • 被动格局

  • 积极方式

1)当监察和控制主机超越300台,提出选取主动方式

二)当队列中有雅量延缓的item

美高梅手机版4858 44

监察项主动情势退换,如下图

美高梅手机版4858 45

监察主机械修理改主动形式

vim/etc/zabbix/zabbix_agentd.conf

屏蔽被动情势的Server

美高梅手机版4858 46

美高梅手机版4858 47

美高梅手机版4858 48

美高梅手机版4858 49

重启服务systemctl
restart zabbix-agent

WEB页面增加192.168.1三七.1二主机的监督项

1)创制主动形式监控模板,将已有个别模板如Template
OS Linux,复制一份并将兼具item的Type改成Zabbix agent

二)成立监察和控制主机

美高梅手机版4858 50

美高梅手机版4858 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

美高梅手机版4858 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

美高梅手机版4858 53

代办监察和控制的报告主机设置

vim/etc/zabbix/zabbix_agentd.conf

?

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

页面设置

美高梅手机版4858 54

美高梅手机版4858 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 自动抬高

二.
积极发现

  二.壹自动发现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

美高梅手机版4858 56

美高梅手机版4858 57

机动注册的系统为Linux

美高梅手机版4858 58

丰盛主机

美高梅手机版4858 59

增加主机组

美高梅手机版4858 60

挑选1个模板

美高梅手机版4858 61

电动发现方法

合法文书档案

修改配置文件

?

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

创办机关发现规则

美高梅手机版4858 62

美高梅手机版4858 63

创建Discovery

美高梅手机版4858 64

重启systemctl
restart zabbix-agent.service

#chmod a+x check_3306_port_num.sh

美高梅手机版4858 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配置文件,增多三个“UserParameter”:

展开-Computer管理-服务-找到zabbix Agent 运行

2.3 安装zabbix server端

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

获得windows机器的监察指标

2.三.一 编写翻译安装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/

加上如下内容:

美高梅手机版4858 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平台登6用户名称为Admin,密码为zabbix。

注:这里的“3306connectNum”正是item
key,无法跟已有的重复,并且后边须求使用

美高梅手机版4858 67 
 #用以自定义监察和控制

二.四.一 复制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文件中

二.四.叁 登六web依照提醒生成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

在浏览器里输入

美高梅手机版4858 68

美高梅手机版4858 69

美高梅手机版4858 70

美高梅手机版4858 71

美高梅手机版4858 72

美高梅手机版4858 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

美高梅手机版4858 74

美高梅手机版4858 75

#zabbix_get -s 192.168.80.30 -k 3306connectNum

表达:PerfCounter固定格式 UserPerfCountercpuUsertime自定义的名字
\Processor(_Total)\% User Time 获取到的监察和控制项 3 每隔3秒获取2遍

2.4.5 设置zabbix国语方式

美高梅手机版4858 76

美高梅手机版4858 77

美高梅手机版4858 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九2.16⑧.80.30就是指的客户端的IP,3306connectNum就是我们要测试的key,重临的5捌七便是330六数据库端口的连接数

证实:PerfCounter固定格式 UserPerfCountercpu自定义的名字 Processor
Information(0,_Total)\% Priority Time 获取到的监察和控制项 三 每隔3秒获取1次

三.二 增添相关服务和端口到系统铺排文件

编辑/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

内部,1005一是zabbix server的监听端口,十050是zabbix agent的监听端口。

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

 

3.三 加多管理维护脚本

从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包是为着方便在服务器上进行赶快安装而安插的长足安装包。
  • 为此为了统壹,监控端和被监察和控制端的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 (存在则接纳)

美高梅手机版4858 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操作入门

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

美高梅手机版4858 80

陆.一 Zabbix Web 操作概述

名称:MySQL 330陆端口连接数

美高梅手机版4858 81

六.一.壹 Zabbix首页仪表提醒面板

美高梅手机版4858 82

  • 常用的图形:能够依据自个儿喜好,增添按主机按监察和控制项增加快捷的查阅链接
  • 常用的集结图形:可以将三个督察图形的曲线合并展现
  • 常用的拓扑图:集群的框架结构图
  • 主机状态:被监督的主机的实时气象
  • Web检验:发三个http请求,看看web是还是不是能寻常访问
  • 系统状态:监察和控制端zabbix server服务器的情状
  • 不久前十多个难点:最终产生的十多少个告警察与消防人员息
  • Zabbix状态:zabbix server监察和控制的详实汇总音信

键值:3306connectNum

 

6.1.二 自定义首页面板

美高梅手机版4858 83

调动后,如下所示:

美高梅手机版4858 84

入选消息种类为数字

为windowsserver增多监督项

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

美高梅手机版4858 85

美高梅手机版4858 86

美高梅手机版4858 87

增多图形:

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

陆.一.4 修改账户密码

美高梅手机版4858 88

美高梅手机版4858 89

美高梅手机版4858 90

展开该模板 –> 图形 –> 创立图形:

美高梅手机版4858 91

陆.1.5 设置报告警察方提醒声音

美高梅手机版4858 92

美高梅手机版4858 93

美高梅手机版4858 94

名称:Mysql 330陆端口连接数

美高梅手机版4858 95

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

美高梅手机版4858 96

美高梅手机版4858 97

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

 

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

给主机绑定模板后:

 

6.贰.一 自定义1个主机组

美高梅手机版4858 98

美高梅手机版4858 99

美高梅手机版4858 100

尤其提示
在生产条件时,主机组的名字自然要用英文,不然,当zabbix实行三回开荒的时候,中文名称都是乱码。那以为很令人想死…

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

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

陆.二.2 自定义四个主机

美高梅手机版4858 101

美高梅手机版4858 102

美高梅手机版4858 103

美高梅手机版4858 104

美高梅手机版4858 105

专程提示
在生产环境中主机的名字自然倘若英文,并且务必和实在主机的主机名一致,且必须归类参与到主机组中。不然zabbix在展开叁遍开拓的时候会那些麻烦(必要建立类似索引情势的东西去关联真实服务器)

此处要专注的是要针对此主机要求加多Template App MySQL模板的引用

美高梅手机版4858 106

陆.3 自定义五个监察项

数分钟后翻看连接数的扭转:

 

6.三.1 举行监察项的后台定义

当今假诺我们要定义叁个获得nginx连接数的监督检查项,那么大家先得去尝试能够收获这一个值。在头里的nginx配置文件里大家早就加入了status模块的取得

美高梅手机版4858 107

咱俩登陆网页获取这些音讯

美高梅手机版4858 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目录下。

美高梅手机版4858 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自定义监控1个端口的连接数的布局就成功了。当然,依据本身上边提到的原理,使用zabbix来监督壹些别的服务也将不再是难事了

增多图形

陆.3.贰 实行监察项的前台定义

点选1个被监察和控制的主机

美高梅手机版4858 110

进入监察和控制项创立模版

美高梅手机版4858 111

创立监察和控制项

美高梅手机版4858 112

美高梅手机版4858 113

成立完毕的监察项

美高梅手机版4858 114

监理项创立完毕之后,在zabbix
server那几个主机里就应运而生那几个新定义的监察项了。

上述内容参考了任何网上资料的,也谢谢别的网络朋友的享用。

美高梅手机版4858 115

六.4 自定义二个督察项的图样

点选一个被监察和控制的主机

美高梅手机版4858 116

进去图产生立模版

美高梅手机版4858 117

美高梅手机版4858 118

翻看图形绘图

美高梅手机版4858 119

至于图形的各样显示效果

美高梅手机版4858 120

健康图形:

美高梅手机版4858 121

层积图形

美高梅手机版4858 122

Pie图形

美高梅手机版4858 123

发生的图样

美高梅手机版4858 124

 

6.五 自定义3个集结图形

创制三个会晤图形

美高梅手机版4858 125

美高梅手机版4858 126

编辑聚合图形

美高梅手机版4858 127

美高梅手机版4858 128

美高梅手机版4858 129

选拔显示图片

美高梅手机版4858 130

美高梅手机版4858 131

美高梅手机版4858 132

美高梅手机版4858 133

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

美高梅手机版4858 134

美高梅手机版4858 135

美高梅手机版4858 136

丰裕模板——windowsservers (从前创设的模板)

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

进去拓扑图编辑分界面

美高梅手机版4858 137

美高梅手机版4858 138

累加3个新的拓扑图形

美高梅手机版4858 139

美高梅手机版4858 140

拓扑图链接拓扑图

美高梅手机版4858 141

美高梅手机版4858 142

美高梅手机版4858 143

美高梅手机版4858 144

拓扑图彰显时时的总是带宽

美高梅手机版4858 145

美高梅手机版4858 146

美高梅手机版4858 147

美高梅手机版4858 148

美高梅手机版4858 149

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

美高梅手机版4858 150

美高梅手机版4858 151

本节功课:

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

进修安插Smokeping互连网监控

自学Piwik流量分析类别

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

 

1,Zabbix Web操作深切

查阅图形

一.壹 Zabbix Web下的主机和模版以及监察和控制项的丰硕格局

创立一个模板

咱俩有着的功效大致都以在模板中定义的

美高梅手机版4858 152

美高梅手机版4858 153

小编们再点进新创设的模板查看

模版里差不离能够设定我们要求的具有作用

美高梅手机版4858 154

美高梅手机版4858 155

在模板里创设应用集

利用集的功效就是将过多的监察和控制项进行二个分类,方便大家的管住

美高梅手机版4858 156

美高梅手机版4858 157

美高梅手机版4858 158

在模板里创设3个zabbix自带的监督检查项

美高梅手机版4858 159

美高梅手机版4858 160

督察项里的键值大家究竟要怎么着写?大家必要学会一板一眼

大家挑选八个种类模版Template OS Linux查看

美高梅手机版4858 161

美高梅手机版4858 162

美高梅手机版4858 163

美高梅手机版4858 164

当然大家也得以自定义监察和控制项的键值,可是并不引入那样。因为,都以投机写太慢了。系统自带了繁多键值我们要学会运用

自定义系统监察和控制项的键值创制,请参考前1节的知识

美高梅手机版4858 165

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

avg

参数:秒或#num
支撑项目:float,int
效果:重临壹段时间的平均值

举例: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
叙述:再次来到钦赐时期距离的最大值。时间间隔作为第三个参数能够是秒或搜集值的数量。从Zabbix一.八.二从头,函数扶助第一个可选参数time_shift,能够查看avg()函数获取它的选取方法。
譬如说:max=0 重回一回值若是都是0则触发告警

min

参数:秒或#num
扶助值类型:float,int
讲述:再次回到指按期间距离的微小值。时间距离作为第3个参数能够是秒或搜聚值的数目。从Zabbix一.八.2开始,函数援助第一个可选参数time_shift,可以查看avg()函数获取它的行使方法。

nodata

参数:秒
援救值类型:any
叙述:当重回值为壹表示内定的区间(间隔不应小于30秒)未有吸收到数量,0象征收获到了。
例:nodata=一 ===>陆分钟以内获得不到多少就报告警察方

prev

参数:忽略
支撑值类型:float,int,str,text,log
讲述:返回从前的值,类似于last

sum

参数:秒或#num
帮忙值类型:float,int
讲述:再次来到钦命时期间隔中搜罗到的值的总额,时间距离作为第一个参数帮助秒或收罗值的数目.从Zabbix1.8.二上马,本函数帮助time_shift作为第②个参数。能够查看avg函数获取它的用法。

change

参数:忽略
帮忙项目:float,int,str,text,log
意义:再次来到近期拿走值与前面得到值的差值,对于字符串0表示十分,一意味分化
change>n:忽略参数一般输入0,表示近期获取的值与上3个值的差值大于n

diff

参数:忽略
支撑值类型:float,init,str,text,log
功效:重临值为一,表示近年来的值与前边的值不相同,0为同1。
例如:diff>0 ===>表示今后拿走的值要是和后面的两样就报告警察方

例如:

美高梅手机版4858 166

美高梅手机版4858 167

 

壹.3 Zabbix Web创设触发器进度以及触发器与监控项对应提到

创立三个触发器

大家事先曾经创办了八个检测内存剩余大小的监察和控制项,未来大家给那个监察和控制项加2个触发器。当内部存款和储蓄器小于20M时,触发报告警察方

美高梅手机版4858 168

美高梅手机版4858 169

美高梅手机版4858 170

美高梅手机版4858 171

拓展表明器测试

美高梅手机版4858 172

美高梅手机版4858 173

美高梅手机版4858 174

美高梅手机版4858 175

美高梅手机版4858 176

表明式测试成功后,我们创设实现就可以

在服务端举办监察项数据获得测试

美高梅手机版4858 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的剩余内存总量

一.肆 为了让同学们体会深刻,我们再创制三个监察和控制项同时创制它的触发器

飞快创设二个Agent_ping监控项

美高梅手机版4858 178

美高梅手机版4858 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通,则重临值是一。反之不是一就有标题

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

美高梅手机版4858 180

美高梅手机版4858 181

美高梅手机版4858 182

美高梅手机版4858 183

美高梅手机版4858 184

美高梅手机版4858 185

到那边就创建实现了,请同学们细心回味这些历程。

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

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

解释:
只要当前赢得的agent客户端的版本号大于前一遍的不等,那么触发告警

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

解释:
设若ping客户端在四分钟内都不曾数量,那么触发告警

{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

解释:
若果老是4分钟里获取的矮小值都超越20,那么触发告警

{Template ICMP Ping:icmppingsec.avg}>0.15

解释:
假如老是5秒钟内的平均值大于0.1伍,那么触发告警

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

3.一 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 "我是邮件内容" 邮件的具体内容

三.一.叁 调整QQ邮箱设置

美高梅手机版4858 186

美高梅手机版4858 187

美高梅手机版4858 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!

美高梅手机版4858 189

三.壹.4 编写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 

三.一.5 脚本测试

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

美高梅手机版4858 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  ]

三.壹.七 创立报告警察方媒介

美高梅手机版4858 191

美高梅手机版4858 192

美高梅手机版4858 193

美高梅手机版4858 194

美高梅手机版4858 195

叁.1.8 创立报告警察方动作

美高梅手机版4858 196

美高梅手机版4858 197

美高梅手机版4858 198

美高梅手机版4858 199

步骤壹-三相当于从壹开端到三收场。1旦产生故障,就是施行sendmail.sh脚本产生报告警察方邮件给zabbix用户。
若果故障不断了2个时辰,它也只发送一遍,第一-贰遍邮箱发送给zabbix用户,时间间隔为0秒。
设若改成壹-0,0是表示不限制,Infiniti发送。

美高梅手机版4858 200

美高梅手机版4858 201

三.1.9 QQ邮件报告警察方测试

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

美高梅手机版4858 202

利用Web进行访问,扩展活动连接数,触发报告警察方

美高梅手机版4858 203

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

三.2.1 注册微信报告警察方平台并绑定微信号

协作社号注册连接

美高梅手机版4858 204

美高梅手机版4858 205

美高梅手机版4858 206

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

编纂脚本前,我们需求先记住三个重大的参数

企业的CorpID

美高梅手机版4858 207

企业的Secret

美高梅手机版4858 208

美高梅手机版4858 209

部门ID号

美高梅手机版4858 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":"#######"}

美高梅手机版4858 211

美高梅手机版4858 212

三.2.四 创造微信报告警察方媒介类型

美高梅手机版4858 213

美高梅手机版4858 214

美高梅手机版4858 215

美高梅手机版4858 216

美高梅手机版4858 217

3.二.伍 设定报告警方动作

美高梅手机版4858 218

美高梅手机版4858 219

叁.2.陆 微信平台报告警察方测试

美高梅手机版4858 220

美高梅手机版4858 221

3.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}

美高梅手机版4858 222

样例测试

美高梅手机版4858 223

4,用户参数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。

4.二 让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’

四.三 让我们自定义一个足以传递参数的监督项

我们做2个得以遵照标准获得内部存款和储蓄器数值大小的监察项mem_check
当我们键值为mem_check[free]时,获取剩余可用内存大小
当我们键值为mem_check[used]时,获取实际占领内存大小
当我们键值为mem_check时,获取总内部存储器大小

四.三.壹 大家先塑造一个获取数据的剧本

[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

肆.三.二 测试脚本

[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

四.三.叁 后台自定义叁个监理项的键值

[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

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

四.三.5 前台自定义二个督查项及触发器

经过略,此时小编深信同学们已经会了。请同学们融洽尝尝成立完整。

5,Agentd主动格局与被动形式

暗中同意情状下,zabbix
server会直接去种种agent上抓取数据,那对于agent来讲,是被动情势,也是暗许的壹种获取数据的方法,可是,当zabbix
server监察和控制主机数量过多的时候,由server端去抓取agent上的多少,zabbix
server会出现严重的质量难题,主要展现如下:

  • [x] :Web操作很卡,轻易出现50贰
  • [x] :图层断裂
  • [x]
    :开启的经过太多,即便减弱item数量,现在进入一定量的机器也会有题目

故而,下边首要往四个优化趋势思索:

  • [x] :用Proxy大概Node情势做分布式监察和控制
  • [x] :调控Agentd为主动方式

5.一 Agentd的布局调节

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

ServerActive=192.168.0.220Hostname=192.168.0.220StartAgents=1

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

伍.2 zabbix Server端配置调控

尽管张开了agent端的积极向上发送数据方式,须求在zabbix
Server端修改如下三个参数,保障质量。

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

五.3 调控模版

  • 据此搜集数据的情势发生了变化,因而要求把全体的监察项的花色由原先的“zabbix客户端”改成“zabbix客户端”。
  • 如此那般,只供给轻便的几步,就造成了积极性格局的切换,调控过后服务器不卡了,图层不裂了,进程也少了。

美高梅手机版4858 224

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

一,Zabbix生产环境监测案例概述

一.壹 项目统一筹划

  • [x] :主机分组
    • 交换机
    • Nginx
    • Tomcat
    • MySQL
    • Apache
    • PHP-fpm
    • redis(也有意况页,同学们自个儿商讨)
    • memcache(也有气象页,同学们自个儿研究)
  • [x] :监察和控制指标志别:
    • 选取SNMP监察和控制沟通
    • 应用IPMI监察和控制服务器硬件
    • 接纳Agent监察和控制服务器
    • 使用JMX监控JAVA
    • 监控MySQL
    • 监控Web状态
    • 监控Nginx状态
    • 监控Apache状态
    • 监控Tomcat状态

一.二 SNMP监察和控制流程

  1. 调换机上张开snmp
  2. 在zabbix上加多监察和控制(设置SNMP interfaces)
  3. 关系监察和控制模版

1.3 IPMI

提出利用自定义item监察和控制服务器硬件,在该地实施ipmitool命令来获取数据

可以在地头推行ipmitool命令获取数据

1.4 JMX(使用Zabbix Java Gateway代理)

用来获得java数据,本次的实战内容

1.5 实战监察和控制Nginx,Apache,MySQL,PHP-fpm

后天的实战内容,请同学们注意总计进度

1.6 Zabbix的Web监测

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

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

大家须求配置一个MySQL服务和三个zabbix-agentd客户端

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

在nginx服务器(1九2.16八.0.2贰1)上设置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  ]

二.3 在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

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

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

美高梅手机版4858 225

美高梅手机版4858 226

美高梅手机版4858 227

美高梅手机版4858 228

美高梅手机版4858 229

从图中能够发现模版里的键值都是大家后面已经定义好了的键值。

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

3.一 实战监察和控制Apache

3.一.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即可

三.壹.3 下载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文件。
  • 第3将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  ]

3.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

三.1.伍 在zabbix-server的Web页面上监控apache

创制1个监察和控制apache的主机

美高梅手机版4858 230

美高梅手机版4858 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分界面导入进去

美高梅手机版4858 232

美高梅手机版4858 233

导入以往Web端就有监察和控制apache的监察项模版了

将模版链接到apache主机

美高梅手机版4858 234

美高梅手机版4858 235

美高梅手机版4858 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请求处理完成,正在等待下一请求指令的连接

三.二.三 编写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

3.贰.5 在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

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

美高梅手机版4858 237

美高梅手机版4858 238

美高梅手机版4858 239

美高梅手机版4858 240

三.二.八 相当调节和测试

假设Zabbix图形分界面一向从未博获得数量,能够透过在zabbix
server上施行zabbix_get手动测试:
/usr/local/zabbix/bin/zabbix_get -s 192.168.0.221 -p 10050 -k "nginx.status[active]"
比方获取数据有毛病,会提交相应提醒,如若可以获取到数码,那就没难点了。

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

zabbix监控tomcat,需要zabbix_server开启java
poller,zabbix_java开启javaGateway,端口拾05二,汤姆cat
JMX开启123四5端口,提供品质数据。

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

美高梅手机版4858 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   -           

4.6 Zabbix图形分界面配置

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

美高梅手机版4858 242

美高梅手机版4858 243

4.6.2 导入zabbix监控tomcat的模版

因为Zabbix自带的汤姆cat模版有包容性难题,并不好用,由此,大家导入自身创制的监督检查项模版

美高梅手机版4858 244

美高梅手机版4858 245

美高梅手机版4858 246

美高梅手机版4858 247

最后大家关系模版就能够。

美高梅手机版4858 248

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

php-fpm和nginx同样内建了多个景观页,对于想理解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.三 状态页浏览器访问测试

php-fpm状态页相比本性化的二个地方是它能够带参数,能够带的参数有json、xml、html,使用zabbix大概nagios监察和控制能够设想动用xml或然私下认可格局。

美高梅手机版4858 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.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图形分界面导入大家的督察模版

美高梅手机版4858 250

美高梅手机版4858 251

6,Zabbix的Web监测效率

Zabbix的Web监测作用,未有别的借助,不须求agent端,全体重视于Server的能动监测

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

美高梅手机版4858 252

美高梅手机版4858 253

美高梅手机版4858 254

美高梅手机版4858 255

美高梅手机版4858 256

美高梅手机版4858 257

美高梅手机版4858 258

到那里Web监测大家就创办好了,最终再看一下监督结果

美高梅手机版4858 259

7,思虑与作业

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

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

发表评论

电子邮件地址不会被公开。 必填项已用*标注

网站地图xml地图
Copyright @ 2010-2019 美高梅手机版4858 版权所有