一、启动redis-server

cd /data/redis
redis-server redis.conf (根据自己的环境启动redis)

测试脚本(写入1000个数据):
seq 1000|while read line; do redis-cli set key_${line} value_${line}; done

谢谢原来的书文者的享受!(参考文献)
https://www.cnblogs.com/sixiweb/p/6893858.html-实地度量成功
http://www.21yunwei.com/archives/4195
https://github.com/adubkov/zbx\_redis\_template

zabbix自定义监控项

壹、创制主机组,能够依靠redis、mysql、web等创立对于的主机组

澳门金沙国际 1

贰、创设主机

澳门金沙国际 2

3、创建Screens

澳门金沙国际 3

澳门金沙国际 4

四、自定义监察和控制项

zabbix_agentd.conf配置文件定义路线

澳门金沙国际 5

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

澳门金沙国际 6

澳门金沙国际 7

澳门金沙国际 8

创设趋势图

澳门金沙国际 9

澳门金沙国际 10

Zabbix布置与使用,Zabbix安插使用

 

  *******急需配置今日头条YUM源来安装相关正视包:        

      [local_yum]

      name=local_yum
      baseurl=
      enabled=1
      gpgcheck=0

1》Zabbix介绍:      

            
zabbix是3个国外的开源网络监督系统,后台配置逻辑分类清晰,轻松配置上手,我们都晓得cacti和nagios,是运转圈内常用的监督和流量互补工具,那么由于cacti依
           
赖于snmp合计,导致有网络波动的时候有个别数据丢失,nagios尽管不依赖snmp,但是初步配置及须要读懂插件的语法,导致众多初学者望而却步,那么zabbix集结了cacti以
              及Nagios
两者的绘图和动态监督的长处,而且超越51%的插件以及常用的沙盘都以系统自带的,最要害的是陈设和职能分类清晰明了,省优良多就学的时刻的,而且可以依照个
            人爱好定义差别的言语援助;

    1>特点           

      -        安装与配置轻巧,学习成本低

      -        支持多语言(包蕴粤语)

      -        无需付费开源

      -        自动开掘服务器与互连网设施

      -        布满式监视以及WEB聚焦管理成效

      -        可以无agent监视

      -        用户安全注解和软和的授权格局

      -        通过WEB分界面设置或查看监视结果

      -        email等通告作用等等

    2>功能:         

      -        CPU负荷

      -        内部存款和储蓄器使用

      -        磁盘使用

      -        网络情形

      -        端口监视

      -        日志监视

    三>专门的工作规律与架构:          

      zabbix由二部分重组,zabbix server与可选组件zabbix agent:
          zabbix server:能够由此SNMP,zabbix
agent,ping,端口监视等办法提供对长途服务器/网络状态的监视,数据搜罗等效果,它能够运作在Linux,
Solaris, HP-UX,                                                        
AIX, Free BSD, Open BSD, OS X等平台之上;
          zabbix
agent:须要安装在被监视的对象服务器上,它至关心保护要完毕对硬件音讯或与操作系统有关的内部存款和储蓄器,CPU等音信的采访。zabbix
agent可以运作在Linux ,Solaris, HP-                                      
              UX, AIX, Free BSD, Open BSD, OS X, Tru64/OSF1, Windows
NT4.0, Windows 两千/2000/XP/Vista等系统之上;-   

       
 Server:指安装zabbix服务的服务器(以下简称服务器端),是最重大的部份,首要安装在linux系统上(支持各种操作系统),选拔mysql存款和储蓄监.控数据并行使apache+php
                                         的形式显示;
    
   Agent:指安装在被监.控设备上的zabbix代理(以下简称代理),被监.控设备上的数额由代理收罗后联合上流传服务器端由服务器端收罗、整理并展现;
Zabbix陈设与使用。    
   SNMP:也是agent的壹种,指协理SNMP协议的配备(也足以是服务器),通过设定SNMP的参数将有关监.控数据传送至服务器端(大部份的调换机、防火墙等网络设施
                                         都支持SNMP协议);

       IPMI:Agent的另壹种方法,主要行使于设备的物理品质监.控,比如设备的热度、风扇的转载等;

      Zabbix体系布局图:

          
 澳门金沙国际 11

贰》中期希图:

     一>安装软件:

        1)打开
Server)

            
 澳门金沙国际 12

        二)找到和二.二一面如旧的Agen包,并且下载(用户被监察和控制端安装),选拔基础版本为2.陆架构为adm X八陆_六十位安装包;

            澳门金沙国际 13

      二>安装重视包          

        # yum -y install make mysql-server httpd php
mysql-devel gcc net-snmp-devel curl-devel perl-DBI php-gd  php-mysql 
php-bcmath  php-mbstring  php-xml

        # useraddzabbix

     3>启动Mysql          

        # /etc/init.d/mysql start

        # mysqladmin–u root –p password ‘123456’

        # mysql–uroot–p

     4>创建zabbix数据库              

        Mysql> create database zabbix character set utf8;

        Mysql> grant all on zabbix.* TO
[email protected]’localhost’
identified by ‘zabbixpass’;

        Mysql> flush privileges;

     5>导入zabbix数据          

        # tar -xvf zabbix-2.2.2.tar.gz

        # cd zabbix-2.2.2/database/mysql

        # mysql -uroot -p123456 -h
localhostzabbix<schema.sql

        # mysql -uroot -p123456 -h
localhostzabbix<images.sql

        # mysql -uroot -p123456 -h localhostzabbix<data.sql

        陆>调解服务器时间        

        # date -s “201四-3-11
1一:2二:35″假若时光正确的话,这一步直接跳过;

3》Zabbix服务器安装配备

     1>安装Zabbix         

      #cd zabbix-2.2.2

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

      # make&&mamke install

    2>扩张端口         

      #vim /etc/services

        zabbix-agent 10050/tcp # Zabbix Agent

        zabbix-agent 10050/udp # Zabbix Agent

        zabbix-trapper 10051/tcp # Zabbix Trapper

        zabbix-trapper 10051/udp # Zabbix Trapper

       三>修改apache配置文件           

        # vim /etc/httpd/conf/httpd.conf

        DirectoryIndex index.html index.html.varindex.php

    四>修改zabbix配置文件        

        # vim/usr/local/zabbix/etc/zabbix_server.conf

        DBName=zabbix

        DBUser=zabbix连接数据库的账号,与Mysql授权账号对应

        DBPassword=zabbixpass连接数据库的密码,与Mysql授权账号的密码对应

    五>修改服务运营文件        

      回到编写翻译安装目录

        # cd zabbix-2.2.2/misc/init.d/fedora/core5

        # cp  zabbix_*     /etc/init.d/

        # chmod 700 /etc/init.d/zabbix_*

        # vim /etc/init.d/zabbix_server

      安装路线修改为

        ZABBIX_BIN=”/usr/local/zabbix/sbin/zabbix_server”

        # vim /etc/init.d/zabbix_agentd

      安装路线修改为

        ZABBIX_BIN=”/usr/local/zabbix/sbin/zabbix_agentd”

    陆>运营服务并安装开机运行         

        # /etc/init.d/zabbix_server start

        # /etc/init.d/zabbix_agentd start

        # chkconfigzabbix_server on

        # chkconfigzabbix_agentd on

    7>修改php相关参数        

      # vim  /etc/php.ini
找到如下几项,改成下边的值,前边有;号的要删掉

      max_execution_time = 300

      max_input_time = 300

      date.timezone = PRC

      post_max_size = 32M

    8>启动apache        

      # /etc/init.d/httpd restart

      # cd zabbix-2.2.2/frontends

      # cp -rf php /var/www/html/zabbix

      # chown -R zabbix:zabbix /var/www/html/zabbix

    九>登入WEB进行铺排Zabbix        

      (1)出现Welcome to Zabbix 2.2 Next下一步

          澳门金沙国际 14

      

      (贰)Check of pre-requisties检查布置情状是还是不是OK,Next下一步

          
  澳门金沙国际 15

      

      (3)配置Configure DB connetcion配置DB,主要此处和授权时要壹律

          澳门金沙国际 16

      

      (四)Zabbix服务器地址及端口和称号

          澳门金沙国际 17

       

      (5) Pre-Installation summary 音讯确认

         
  澳门金沙国际 18      

      (陆)zabbix会依据五步的新闻生成3个zabbix.conf.php配置文件,我们必要手工业把这些布局文件放入apache的暗中认可WEB目录/var/www/html/zabbix/conf

          澳门金沙国际 19

      

      (7)Zabbix配置完毕

          澳门金沙国际 20      

      暗许用户admin 密码为:zabbix

             
 澳门金沙国际 21

四》Linux被监察和控制端布置

    一>创制用户         

      # groupadd zabbix

      # useradd –g zabbix zabbix –s /sbin/nologin

     2>解压Agent包         

      zabbix_agents_2.2.1.linux2_陆.amd6四.tar.gz都以法定已经编写翻译好的。直接解压到目录就行了。

      # mkdir /usr/loca/zabbix

      # tar -xvf zabbix_agents_2.2.1.linux2_6.amd64.tar.gz -C
/usr/local/zabbix/

      # chown–R zabbix:zabbix /usr/local/zabbix

    3>配置agent文件      

      只要那6个参数。此外的凡事讲授掉

      # vim   /usr/local/zabbix/conf/zabbix_agentd.conf

        LogFile=/tmp/zabbix_agentd.log   #日志文件

        SourceIP=127.0.0.1             #agen本机IP

        Server=192.168.100.214        #zabbix_server IP地址

        ListenPort=10050              #agent 监听端口

        Hostname=DB206             #本机hostname

        #ServerActive=127.0.0.1注释掉

    四>运营服务        

        # /usr/local/zabbix/sbin/zabbix_agentd -c
/usr/local/zabbix/conf/zabbix_agentd.conf

        # cat/tmp/zabbix_agentd.log

        # echo “/usr/local/zabbix/sbin/zabbix_agentd -c
/usr/local/zabbix/conf/zabbix_agentd.conf”>> /etc/rc.d/rc.local

        # ps–ef | grepzabbix

五》Windows被监察和控制端陈设

      1>下载Agent安装包           

        

          澳门金沙国际 22

      二>解压配置            

          (1)在C:\Program Files\下创建zabbix文件夹

          (2)解压到 C:\Program
Files\zabbix下,依据操作系统删除不对应的目录,要是是win6四的体系就把win3贰索引删除掉。只保留win64,如若是三拾三个人的那么就删除                                          
 掉win6肆目录,

          (三)并在该目录下创立一个zabbix_agentd.conf文件,内容为

            LogFile=C:\Program
Files\zabbix\zabbix_agentd.log   #日记文件

            SourceIP=127.0.0.1             #agen本机IP

            Server=192.168.100.214        #zabbix_server
IP地址

            ListenPort=10050              #agent 监听端口

            Hostname=testwindows             #本机hostname

            UnsafeUserParameters=1    #展开定义KEY

      叁>安装并运转服务          

          (一)初叶运转输入CMD

                      
  澳门金沙国际 23          

          (二)安装客户端

            C:\>cd C:\Program Files\zabbix\bin\win32

            C:\Program
Files\zabbix\bin\win32>zabbix_agentd.exe -c “c:\Program
Files\zabbix

            conf\zabbix_agentd.conf” -i

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

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

          (三)运维服务

            C:\Program
Files\zabbix\bin\win32>zabbix_agentd.exe -c “c:\Program Files

              conf\zabbix_agentd.conf” -s

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

            zabbix_agentd.exe参数含义:

                -c    制定配置文件所在地方

                -i    安装客户端

                -s    运营客户端

                -x    甘休客户端

                -d    卸载客户端

      四>检查服务

            
 澳门金沙国际 24

陆》Zabbix默许模板应用

     一>修改暗中同意模板         

        (一)选取组态à模板àTemplate OS Linux 模板(系统自带)

            澳门金沙国际 25

            澳门金沙国际 26

        

        (2) Template OS Linux说明

            澳门金沙国际 27        

        (三)CPU项目表达

            澳门金沙国际 28

        (四)filesystem文件系统一分配解

            澳门金沙国际 29

            澳门金沙国际 30

        (5)General基本消息

            澳门金沙国际 31

        (6)Memory内部存款和储蓄器音信

            澳门金沙国际 32

        (7)Network interfaces网络接口

            澳门金沙国际 33

            澳门金沙国际 34        

        (八)OS 项目新闻

            澳门金沙国际 35

        (9)Performance  项目新闻

          因为CPU和Performance都含有这几个品种,在CPU里面早已有应用具备那里整个平息掉;

            
 澳门金沙国际 36        

        (十)Processes 进程音信

            澳门金沙国际 37            

        OK。模板分析形成,大家接下去定义主机;

      二>创设2个主机        

        (一)选用–>组态->主机->创造主机

         
       澳门金沙国际 38

             澳门金沙国际 39

    3>为主机增加模板

        
 澳门金沙国际 40

         澳门金沙国际 41

    四>查看监察和控制后的真情数据

       
  澳门金沙国际 42

7》Zabbix定义模板应用    

      表达:依据厂商的政工内容出自定义合适的沙盘,全部主机都得以利用那几个概念模板,那样方便管理。

      一>首先创制个人模板          

        那里名称能够Infiniti制。我那边定义为:alvin_check_all

          澳门金沙国际 43      

2、redis-cli info查看redis的运行消息

used_memory_rss  #占用系统的内存
used_memory  #key所占用的内存
mem_fragmentation_ratio #内存碎片化率used_memory_rss/used_memory
connected_clients #已连接的客户端
total_commands_processed #从启动开始运行了多少命令
total_connections_received #从启动开始接收了多个连接
role      #redis主从状态

redis-cli info|grep total_commands_processed
https://www.jianshu.com/p/4f3cac659aec
[root@www zabbix]# zabbix_get -s 10.11.14.102 -k redis_stats[6379,used_memory:]
sh: /home/qyy/redis-3.2.8/src/redis-cli: 权限不够
#检查普通用户家目录权限

何以促成监督各使用

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

澳门金沙国际 44

启航四个经过轮询zabbix-java-gateway

澳门金沙国际 45

6)重启zabbix_server

systemctl
restart zabbix-server

澳门金沙国际 46

监控tomcat案例

澳门金沙国际 47

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

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

vimcatalina.sh

澳门金沙国际 48

?

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 检查端口

澳门金沙国际 49

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

澳门金沙国际 50

zabbix添加jmx

澳门金沙国际 51

澳门金沙国际 52

服务器硬件消息监察和控制IPMI

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

互连网设施SNMP

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

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

三)关联监察和控制模板

澳门金沙国际 53

     贰>在被监控端定义KEY新昌安徽端公戏本            

        # mkdir /usr/local/zabbix/scripts

        # vim  /usr/local/zabbix/scripts/httpd.sh 
编辑七个检验httpd状态的台本,并且再次来到值为一

        #!/bin/bash

          aa=`/etc/init.d/httpd status |grep “pid” |wc
-l`    #假诺htttp服务符合规律那么些值为一,不为一代表错误

          echo $aa

        # chownzabbix:zabbix–R /usr/local/zabbix/scripts

      叁>在被监察和控制端开首定义KEY的使用            

        # cd /usr/local/zabbix/conf/

        # vimzabbix_agentd.conf

          UnsafeUserParameters=1              
#开启定义KEY的参数

          UserParameter=check.http.serivces,/usr/local/zabbix/scripts/httpd.sh

        #key值为check.http.
services应用脚本为:/usr/local/zabbix/scripts/httpd.sh

        #语法为:UserParameter=KEY,
<脚本/命令>脚本或许命令都能够,以上应用是本子

      4>重启被监察和控制端的agent服务

        # ps -ef | grepzabbix |grep -v “grep ” |xargs kill -9

        # /usr/local/zabbix/sbin/zabbix_agentd -c
/usr/local/zabbix/conf/zabbix_agentd.conf

      5>回到主Zabbix服务器命令测试

        # cd /usr/local/zabbix/bin/

        # ./zabbix_get -s 1玖二.168.100.20陆 -p 十050 -k
“check.http.serivces”查看重回值是或不是为脚本的正确值。

        即便重临值不对,在agetn被监察和控制端,切换zabbix用户尝试举行那些剧本,看看到底什么地方出难点了。

        比如:su – zabbix

        [email protected]
scripts]$ /etc/init.d/httpd status

        httpd已死,但是subsys被锁

        消除:在监督检查端agent,将apache组到场到zabbix

        usermod–G apache zabbix

      陆>回WEB分界面本人定义模板增添运用集         

        (一)创造1个名称叫httpd的应用集

           
 澳门金沙国际 54

     七>为使用集增加一个监察和控制项目

       
  澳门金沙国际 55

    
     澳门金沙国际 56

      八>为项目增加贰个接触报告警方器        

      (一)伊始创制

         
 澳门金沙国际 57

      

      (二)定义项目值

            
 澳门金沙国际 58

      

      (3)保存退出

          
  澳门金沙国际 59

   玖>为主机DB20陆充实二个自定义模板          

      (一)增多一个自定义模板

          澳门金沙国际 60    
   

      (二)验证自定义模板是或不是中标

          澳门金沙国际 61

捌》Zabbix定义邮件报告警方文告

      1>修改zabbix server hostname            

      证明:在布置zabbix的Email报警从前,须求将sendmail使用的域名举行相应的修改,系统默感到localhost.localdomain,其实不改也行,但是有个别pop三服务器会过滤掉来
                               
 自localhost.localdomain的邮件,导致邮件无法健康查收,所以,最佳是改一下
hostname,确认保证邮件发送的成功率;

      # vim /etc/hosts      

      127.0.0.1    zabbix.alvin.comlocalhost.localdomainlocalhost 

      # vim /etc/sysconfig/network

        NETWORKING=yes

        HOSTNAME=zabbix.alvin.com

      # hostname zabbix.alvin.com

      # exit  重新登入终端。生效

     2>安装sendmail         

      # yum -y install sendmail

     3>修改mail access        

      # vim  /etc/mail/access

        Connect:localhost.localdomain           RELAY

        Connect:localhost                       RELAY

        Connect:127.0.0.1

        Connect:zabbix.alvin.com                RELAY

     4>修改maill hostname           

        # vim /etc/mail/local-host-names

         zabbix.alvin.com

    5>重启动sendmail         

        # /etc/init.d/sendmail

     陆>测试smtp域名是或不是为zabbix.alvin.com        

        # telnet 127.0.0.1 25

        Trying 127.0.0.1…

        Connected to 127.0.0.1.

        Escape character is ‘^]’.

        220 zabbix.alvin.com ESMTP Postfix

    7>创立1个报告警察方媒介        

        (1)创设3个报告警察方媒介类型

            澳门金沙国际 62        

        (二)设置详细内容

            澳门金沙国际 63

    八>成立二个报告警方动作         

      (1)组态->动作->创制二个动作

           澳门金沙国际 64

      (二)设置动作

          澳门金沙国际 65      

      (3)设置操作

          澳门金沙国际 66

          澳门金沙国际 67

      玖>修改二个用户组        

      (一)管理->用户->选用组->点击相应的用户

           澳门金沙国际 68      

      (2)点击Admin

          澳门金沙国际 69      

      (叁) 选取报告警察方媒介,加多->然后增加收件人,

          澳门金沙国际 70

 

三、监控redis脚本(vim /usr/local/zabbix/check_redis.sh)

#!/bin/sh
while getopts "p:k:P:" opt
do
        case $opt in
                p ) redis_port=$OPTARG;;
                k ) info_key=$OPTARG;;
                P ) redis_passwd=$OPTARG;;
                ? )
                echo 'parameter is wrong!'
                exit 1;;
        esac
done
if [ ! "${redis_port}" ] || [ ! "${info_key}" ];then
        echo "parameter is null"        
        exit 1
fi

if [ "${redis_passwd}" ];then
        result=`/usr/local/bin/redis-cli -a ${redis_passwd} -p ${redis_port} info|grep "${info_key}:"|cut -d: -f2`
else
        result=`/usr/local/bin/redis-cli -p ${redis_port} info|grep "${info_key}:"|cut -d: -f2`
fi
echo $result

1,导入模板
下载链接:
http://pan.baidu.com/s/1pLlFTsZ
密码: nfp七,也足以在此间下载:zabbix3.x监控reddis模板
留神自个儿监督平台版本,低于叁.0的必要编写制定xml改成二.0后再去导入。

**自定义监察和控制脚本**

创制脚本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]

页面创造模板

澳门金沙国际 71

在新建的模版中创立items

澳门金沙国际 72

澳门金沙国际 73

在新建的沙盘中成立视图

澳门金沙国际 74

模板成立实现导出内容nginx_export_templates.xml

    测试、在QQ邮箱里面,扩张白名单

      将[email protected]追加到白名单,然后截止一个劳动,起初测试,能够将收件人QQ邮箱改成13九信箱。能够兑现短信提醒+邮件报告警察方;

      在触发器中间假如不勾选次项,那么系统在遇到故障的时候发叁遍寄邮资件,假使勾选上了将依附触发器的更新时间来不停地发送错误邮件只怕短信

      # yum –y install mail    安装mail客户端

      # /etc/init.d/postfix stop关闭postfix

      # /etc/init.d/sendmail restart

      # cat /var/log /maillog邮件日志

9》Zabbix定义短信报告警察方文告       

    注脚:fetion针对对陆.0之上的系统帮忙很糟糕,建议监察和控制连串选用Centos
5.伍 大概centos 伍.肆

    1>飞信安装

            

      # unzip fetion.zip

      # mkdir /usr/local/fetion

      # cpfetion /usr/local/fetion

      # mv lib /usr/local/fetion

      # cd /usr/local/fetion

      # ls

         澳门金沙国际 75

      # export  LD_LIBRARY_PATH=/usr/local/fetion/lib

        ./fetion –mobile=13692xxx096 –pwd=xxxxxxx
–to=1369xxxx6096 –msg-utf8=测试

          澳门金沙国际 76        

        这几个会时有发生1个手提式有线电话机名的验证码图片,张开其它二个极限;

            
  澳门金沙国际 77          

        这一个13陆ddddd.jpg
下载下来。然后查看验证码多少。输入验证码那几个第壹次索要输入。以往就不用了

      二>自定义飞信报警脚本          

      # mkdir /usr/local/sms

      # vim /usr/loca/sms/fetionsms.sh

      #!/bin/bash

        export  LD_LIBRARY_PATH=/usr/local/fetion/lib

        [email protected]

        /usr/local/fetion/fetion –mobile=136xxxxxx096
–pwd=zmypaswd –to=$1 –msg-utf8=”$aa”

     # chwon–R zabbix:zabbix /usr/local/sms/

    测试:

      # cd /usr/local/sms/          

      # ./fetionsms.sh 1369xxxx096 test test2 test3 test 4

        SIP-C/4.0 280 Send SMS OK

        T:
sip:[email protected];p=2823

        I: 2

        Q: 1 M

        RQ: 24808655073

        L: 112

        XI: 8f64794cbd524ebabaffc980e9a38d56

     3>创立叁个报告警察方媒介

        
 澳门金沙国际 78

        澳门金沙国际 79

    四>编辑配置文件定义脚本路线        

      # vim /usr/local/zabbix/etc/zabbix_server.conf

        找到AlertScripts帕特h参数并修改成AlertScriptsPath=/usr/local/sms

      # /etc/init.d/zabbix_server重启服务

    5>成立1个报告警察方动作

         澳门金沙国际 80        

      (一)设置动作

          澳门金沙国际 81      

      (二)设置操作

          澳门金沙国际 82

     陆>修改三个用户组             

        (一)管理->用户->选取组->点击相应的用户

            
 澳门金沙国际 83        

        (2)点击Admin

            澳门金沙国际 84        

        (叁)编辑媒介,采纳方面定义的红娘类型Fetion,然后收件人写入XXXX手提式有线话机号码

            澳门金沙国际 85

       

肆、测试脚本

二,创造搜聚脚本
自家的监察和控制收罗脚本都放到了/etc/zabbix/script/redis/,在此地创办脚本保存shell脚本:
vim redis.sh

TCP状态监察和控制

澳门金沙国际,模板TCP_export_templates.xml

澳门金沙国际 86

导入后,在host主机加入监控模板

澳门金沙国际 87

新建触发器

澳门金沙国际 88

澳门金沙国际 89

      测试、关闭2个劳动测试

        截至贰个劳动,初叶测试。在触发器里面勾选那一个类型,依据触发更新时间发送多次音信,不然之发送一遍

    7>小技巧

      (一)如若短信和邮件同步使用,此动作须要五个动作步骤,三个短信,一个邮件,不然发送短信将战败;

          
  澳门金沙国际 90      

      (贰)封装的py脚本只怕shell脚本,传递参数有分明,参数一为手提式有线电话机号码,参数贰为空,参数三为内容,否则短信将只收到一个报告警察方底部;

 

*******亟需布署微博YUM源来设置相关重视包: [local_yum]
name=local_yum
baseurl=…

无密码测试

sh /usr/local/zabbix/check_redis.sh -k mem_fragmentation_ratio -p 6379
sh /usr/local/zabbix/check_redis.sh -k total_commands_processed -p 6379
#!/bin/bash
REDISPATH="/usr/local/bin/redis-cli"
HOST="127.0.0.1"
PORT="6379"
PASSWD="14YVeC0PToxRIAs"
REDIS_PA="$REDISPATH -h $HOST -p $PORT -a $PASSWD info"
if [[ $# == 1 ]];then
    case $1 in
 cluster)
        result=`$REDIS_PA|/bin/grep cluster|awk -F":" '{print $NF}'`
            echo $result 
            ;; 
 uptime_in_seconds)
        result=`$REDIS_PA|/bin/grep uptime_in_seconds|awk -F":" '{print $NF}'`
            echo $result 
            ;; 
 connected_clients)
        result=`$REDIS_PA|/bin/grep connected_clients|awk -F":" '{print $NF}'`
            echo $result 
            ;; 
 client_longest_output_list)
        result=`$REDIS_PA|/bin/grep client_longest_output_list|awk -F":" '{print $NF}'`
            echo $result 
            ;; 
 client_biggest_input_buf)
        result=`$REDIS_PA|/bin/grep client_biggest_input_buf|awk -F":" '{print $NF}'`
            echo $result 
            ;; 
 blocked_clients)
        result=`$REDIS_PA|/bin/grep blocked_clients|awk -F":" '{print $NF}'`
            echo $result 
            ;; 
#内存
 used_memory)
        result=`$REDIS_PA|/bin/grep used_memory|awk -F":" '{print $NF}'|awk 'NR==1'`
            echo $result 
            ;; 
 used_memory_human)
        result=`$REDIS_PA|/bin/grep used_memory_human|awk -F":" '{print $NF}'|awk -F'K' '{print $1}'` 
            echo $result 
            ;; 
 used_memory_rss)
        result=`$REDIS_PA|/bin/grep used_memory_rss|awk -F":" '{print $NF}'`
            echo $result 
            ;; 
 used_memory_peak)
        result=`$REDIS_PA|/bin/grep used_memory_peak|awk -F":" '{print $NF}'|awk 'NR==1'`
            echo $result 
            ;; 
 used_memory_peak_human)
        result=`$REDIS_PA|/bin/grep used_memory_peak_human|awk -F":" '{print $NF}'|awk -F'K' '{print $1}'`
            echo $result 
            ;; 
 used_memory_lua)
        result=`$REDIS_PA|/bin/grep used_memory_lua|awk -F":" '{print $NF}'`
            echo $result 
            ;;     
 mem_fragmentation_ratio)
        result=`$REDIS_PA|/bin/grep mem_fragmentation_ratio|awk -F":" '{print $NF}'`
            echo $result 
            ;;   
#rdb
 rdb_changes_since_last_save)
        result=`$REDIS_PA|/bin/grep rdb_changes_since_last_save|awk -F":" '{print $NF}'`
            echo $result 
            ;;   
 rdb_bgsave_in_progress)
        result=`$REDIS_PA|/bin/grep rdb_bgsave_in_progress|awk -F":" '{print $NF}'`
            echo $result 
            ;;   
 rdb_last_save_time)
        result=`$REDIS_PA|/bin/grep rdb_last_save_time|awk -F":" '{print $NF}'`
            echo $result 
            ;;   
 rdb_last_bgsave_status)
        result=`$REDIS_PA|/bin/grep -w "rdb_last_bgsave_status" | awk -F':' '{print $2}' | /bin/grep -c ok`
            echo $result 
            ;;   
 rdb_current_bgsave_time_sec)
        result=`$REDIS_PA|/bin/grep -w "rdb_current_bgsave_time_sec" | awk -F':' '{print $2}'`
            echo $result 
            ;; 
#rdbinfo
 aof_enabled)
        result=`$REDIS_PA|/bin/grep -w "aof_enabled" | awk -F':' '{print $2}'`
            echo $result 
            ;; 
 aof_rewrite_scheduled)
        result=`$REDIS_PA|/bin/grep -w "aof_rewrite_scheduled" | awk -F':' '{print $2}'`
            echo $result 
            ;; 
 aof_last_rewrite_time_sec)
        result=`$REDIS_PA|/bin/grep -w "aof_last_rewrite_time_sec" | awk -F':' '{print $2}'`
            echo $result 
            ;; 
 aof_current_rewrite_time_sec)
        result=`$REDIS_PA|/bin/grep -w "aof_current_rewrite_time_sec" | awk -F':' '{print $2}'`
            echo $result 
            ;; 
 aof_last_bgrewrite_status)
        result=`$REDIS_PA|/bin/grep -w "aof_last_bgrewrite_status" | awk -F':' '{print $2}' | /bin/grep -c ok`
            echo $result 
            ;; 
#aofinfo
 aof_current_size)
        result=`$REDIS_PA|/bin/grep -w "aof_current_size" | awk -F':' '{print $2}'`
            echo $result 
            ;; 
 aof_base_size)
        result=`$REDIS_PA|/bin/grep -w "aof_base_size" | awk -F':' '{print $2}'`
            echo $result 
            ;; 
 aof_pending_rewrite)
        result=`$REDIS_PA|/bin/grep -w "aof_pending_rewrite" | awk -F':' '{print $2}'`
            echo $result 
            ;; 
 aof_buffer_length)
        result=`$REDIS_PA|/bin/grep -w "aof_buffer_length" | awk -F':' '{print $2}'`
            echo $result 
            ;; 
 aof_rewrite_buffer_length)
        result=`$REDIS_PA|/bin/grep -w "aof_rewrite_buffer_length" | awk -F':' '{print $2}'`
            echo $result 
            ;;   
 aof_pending_bio_fsync)
        result=`$REDIS_PA|/bin/grep -w "aof_pending_bio_fsync" | awk -F':' '{print $2}'`
            echo $result 
            ;;
 aof_delayed_fsync)
        result=`$REDIS_PA|/bin/grep -w "aof_delayed_fsync" | awk -F':' '{print $2}'`
            echo $result 
            ;;                     
#stats
 total_connections_received)
        result=`$REDIS_PA|/bin/grep -w "total_connections_received" | awk -F':' '{print $2}'`
            echo $result 
            ;; 
 total_commands_processed)
        result=`$REDIS_PA|/bin/grep -w "total_commands_processed" | awk -F':' '{print $2}'`
            echo $result 
            ;; 
 instantaneous_ops_per_sec)
        result=`$REDIS_PA|/bin/grep -w "instantaneous_ops_per_sec" | awk -F':' '{print $2}'`
            echo $result 
            ;; 
 rejected_connections)
        result=`$REDIS_PA|/bin/grep -w "rejected_connections" | awk -F':' '{print $2}'` 
            echo $result 
            ;; 
 expired_keys)
        result=`$REDIS_PA|/bin/grep -w "expired_keys" | awk -F':' '{print $2}'`
            echo $result 
            ;; 
 evicted_keys)
        result=`$REDIS_PA|/bin/grep -w "evicted_keys" | awk -F':' '{print $2}'` 
            echo $result 
            ;; 
 keyspace_hits)
        result=`$REDIS_PA|/bin/grep -w "keyspace_hits" | awk -F':' '{print $2}'` 
            echo $result 
            ;; 
 keyspace_misses)
        result=`$REDIS_PA|/bin/grep -w "keyspace_misses" | awk -F':' '{print $2}'`
            echo $result 
            ;;
 pubsub_channels)
        result=`$REDIS_PA|/bin/grep -w "pubsub_channels" | awk -F':' '{print $2}'`
            echo $result 
            ;;
 pubsub_channels)
        result=`$REDIS_PA|/bin/grep -w "pubsub_channels" | awk -F':' '{print $2}'`
            echo $result 
            ;;
 pubsub_patterns)
        result=`$REDIS_PA|/bin/grep -w "pubsub_patterns" | awk -F':' '{print $2}'`
            echo $result 
            ;;
 latest_fork_usec)
        result=`$REDIS_PA|/bin/grep -w "latest_fork_usec" | awk -F':' '{print $2}'`
            echo $result 
            ;;           
 connected_slaves)
        result=`$REDIS_PA|/bin/grep -w "connected_slaves" | awk -F':' '{print $2}'`
            echo $result 
            ;;
 master_link_status)
        result=`$REDIS_PA|/bin/grep -w "master_link_status"|awk -F':' '{print $2}'|/bin/grep -c up`
            echo $result 
            ;;
 master_last_io_seconds_ago)
        result=`$REDIS_PA|/bin/grep -w "master_last_io_seconds_ago"|awk -F':' '{print $2}'`
            echo $result 
            ;;
 master_sync_in_progress)
        result=`$REDIS_PA|/bin/grep -w "master_sync_in_progress"|awk -F':' '{print $2}'`
            echo $result 
            ;;
 slave_priority)
        result=`$REDIS_PA|/bin/grep -w "slave_priority"|awk -F':' '{print $2}'`
            echo $result 
            ;;
#cpu
 used_cpu_sys)
        result=`$REDIS_PA|/bin/grep -w "used_cpu_sys"|awk -F':' '{print $2}'`
            echo $result 
            ;;
 used_cpu_user)
        result=`$REDIS_PA|/bin/grep -w "used_cpu_user"|awk -F':' '{print $2}'`
            echo $result 
            ;;
 used_cpu_sys_children)
        result=`$REDIS_PA|/bin/grep -w "used_cpu_sys_children"|awk -F':' '{print $2}'`
            echo $result 
            ;;
 used_cpu_user_children)
        result=`$REDIS_PA|/bin/grep -w "used_cpu_user_children"|awk -F':' '{print $2}'`
            echo $result 
            ;;
        *)
        echo "Usage:$0{uptime_in_seconds|connected_clients|client_longest_output_list|client_biggest_input_buf|blocked_clients|used_memory|used_memory_human|used_memory_rss|used_memory_peak|used_memory_peak_human|used_memory_lua|mem_fragmentation_ratio|rdb_changes_since_last_save|rdb_bgsave_in_progress|rdb_last_save_time|rdb_last_bgsave_status|rdb_current_bgsave_time_sec|aof_enabled|aof_rewrite_scheduled|aof_last_rewrite_time_sec|aof_current_rewrite_time_sec|aof_last_bgrewrite_status|aof_current_size|aof_base_size|aof_pending_rewrite|aof_buffer_length|aof_rewrite_buffer_length|aof_pending_bio_fsync|aof_delayed_fsync|rejected_connections|instantaneous_ops_per_sec|total_connections_received|total_commands_processed|expired_keys|evicted_keys|keyspace_hits|keyspace_misses|pubsub_channels|pubsub_patterns|latest_fork_usec|connected_slaves|master_link_status|master_sync_in_progress|master_last_io_seconds_ago|connected_slaves|slave_priority|used_cpu_user|used_cpu_sys|used_cpu_sys_children|used_cpu_user_children}"
        ;;
esac
#db0:key
        elif [[ $# == 2 ]];then
case $2 in
  keys)
        result=`$REDIS_PA| /bin/grep -w "db0"| /bin/grep -w "$1" | /bin/grep -w "keys" | awk -F'=|,' '{print $2}'`
            echo $result 
            ;;
 expires)
        result=`$REDIS_PA| /bin/grep -w "db0"| /bin/grep -w "$1" | /bin/grep -w "expires" | awk -F'=|,' '{print $4}'`
            echo $result 
            ;;
 avg_ttl)
        result=`$REDIS_PA|/bin/grep -w "db0"| /bin/grep -w "$1" | /bin/grep -w "avg_ttl" | awk -F'=|,' '{print $6}'`
            echo $result 
            ;;
          *)
     echo "Usage:$0{db0 keys|db0 expires|db0 avg_ttl}"
        ;;
esac
fi

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

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

澳门金沙国际 91

短信通道可利用如:Ali高于

二、在页面增加脚本调用

澳门金沙国际 92

澳门金沙国际 93

修改Action

澳门金沙国际 94

修改User

澳门金沙国际 95

有密码测试

config set requirepass "test"
auth test
sh /usr/local/zabbix/check_redis.sh -k total_commands_processed -p 6379 -P test

chmod +x redis.sh
叁,编辑agentd配置文件

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

澳门金沙国际 96

将/var/lib/zabbix/percona/templates/zabbix_agent_template_percona_mysql_server_ht_2.0.玖-sver一.一.陆.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

澳门金沙国际 97

?

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

澳门金沙国际 98

备注:那些mysql监控脚本会在/tmp下生成一时文件,如若刚才用root账号试行过剧本,晤面世权力难点

澳门金沙国际 99

焚林而猎措施:改动文件的属主
chown zabbix:zabbix localhost-mysql_cacti_stats.txt

剔除密码

auth test
config set requirepass ""

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

WEB监控

以tomcat为例

澳门金沙国际 100

澳门金沙国际 101

澳门金沙国际 102

澳门金沙国际 103

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

适用场景:

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

2、多机房,防火墙

五、zabbix agent的配置(vim /usr/local/zabbix/etc/zabbix_agentd.conf.d/redis.conf)

UserParameter=redis.status[*],sh /usr/local/zabbix/check_redis.sh -k $1 -p $2
4.1 如果有密码的话(test替换自己的密码)
UserParameter=redis.status[*],sh /usr/local/zabbix/check_redis.sh -k $1 -p $2 -P test
重启zabbix agentd。

监控redis状态,大家能够遵照那几个参数对应的监察和控制项成立redis状态触发器。(有密码的加-a参数后跟密码)

UserParameter=redis.status,/usr/local/bin/redis-cli -h 127.0.0.1 -p 6379
-a password ping |grep -c PONG

zabbix监察和控制方式

针对agent来说

  • 被动形式

  • 积极格局

一)当监察和控制主机超过300台,提出选拔主动方式

2)当队列中有雅量延迟的item

澳门金沙国际 104

监察项主动形式改动,如下图

澳门金沙国际 105

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

vim/etc/zabbix/zabbix_agentd.conf

屏蔽被动方式的Server

澳门金沙国际 106

澳门金沙国际 107

澳门金沙国际 108

澳门金沙国际 109

重启服务systemctl
restart zabbix-agent

WEB页面增加192.16八.137.12主机的监察项

一)创立主动格局监察和控制模板,将已部分模板如Template
OS Linux,复制一份并将有着item的Type改成Zabbix agent

2)创制监察和控制主机

澳门金沙国际 110

澳门金沙国际 111

可参考

六、测试zabbix_agent是还是不是正规

/usr/local/zabbix/sbin/zabbix_agentd -t redis.status[mem_fragmentation_ratio,6379]
/usr/local/zabbix/sbin/zabbix_agentd -t redis.status[total_commands_processed,6379]

zabbix_get -s 192.168.1.106 -k redis.status[mem_fragmentation_ratio,6379]

item参数如何get

UserParameter=redis_info[*],/etc/zabbix/script/redis/redis.sh $1
$2
重启agentd服务,使之生效。

systemctl restart zabbix-agent.service

然后到zabbix的web分界面,配置、主机、点击主机名称,然后点击模板,在文本框中输入redd,自动寻找出reddis的模版,点击选用,点击增加,点击更新。

然后到zabbix的web分界面,处理,一般,别的,修改此项设置:

刷新不支持的监督检查项目(秒) ,默许600秒,作者改成60。
那时候再去查看该主机的摩登数据,就能够看看监察和控制消息了:
**
显示未有数据检查用户的目录权限(wo用的是三个不相同普通用户运维的agent和redis)**

Zabbix Proxy

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

澳门金沙国际 112

官方文书档案

?

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

澳门金沙国际 113

代理监察和控制的反映主机设置

vim/etc/zabbix/zabbix_agentd.conf

?

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

页面设置

澳门金沙国际 114

澳门金沙国际 115

重启systemctl
restart zabbix-agent.service

7、在zabbix server网页上安排监察和控制

6.1 添加主机
6.2 添加监控项目
简单检查 net.tcp.service.perf[tcp,,6379]   #浮点数 触发器为0时告警 图形
redis.status[used_memory_rss,6379] #整数
redis.status[used_memory,6379]  #整数
redis.status[mem_fragmentation_ratio,6379] #浮点数   redis内存碎片化率
redis.status[connected_clients,6379] #整数
redis.status[total_commands_processed,6379] #每秒速率 整数  redis每秒钟执行的命令(qps)
redis.status[total_connections_received,6379] #每秒速率 整数

陆.三 模板表达

机关开采redis端口(discover_redis.py)

#coding:utf-8
import json
import commands

(status, output) = commands.getstatusoutput("""sudo netstat -tlnp|grep 'redis'|awk '{print $4}'|awk -F':' '{print $(NF)}'|sort -u|grep -v '^1'""")
outputs = output.split('\n')
ports = []
for port in  outputs:
    ports += [{'{#REDISPORT}': port}]

print json.dumps({'data':ports},sort_keys=True,indent=4)

自动发现zabbix配置:
UserParameter=redis.discover,python /usr/local/zabbix/discover_redis.py

 

自动化监察和控制

一.机动注册

  一.一Zabbix agent 自动抬高

二.
能动意识

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

澳门金沙国际 116

澳门金沙国际 117

自行注册的系统为Linux

澳门金沙国际 118

增多主机

澳门金沙国际 119

增添主机组

澳门金沙国际 120

慎选3个模板

澳门金沙国际 121

自动开采方法

法定文书档案

修改配置文件

?

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

创制机关发掘规则

澳门金沙国际 122

澳门金沙国际 123

创建Discovery

澳门金沙国际 124

重启systemctl
restart zabbix-agent.service

Zabbix API

合法文书档案:

相关文章