精华内容
下载资源
问答
  • linux zabbix监控

    2018-08-14 16:54:45
    ** Zabbix基本介绍: ** zabbix是一个基于WEB界面的提供分布式系统监视以及网络监视功能的企业级的开源解决...zabbix由2部分构成,zabbix server与可选组件zabbix agent。 zabbix server:可以通过SNMP,zabb...

    **

    Zabbix基本介绍:

    **

    zabbix是一个基于WEB界面的提供分布式系统监视以及网络监视功能的企业级的开源解决方案。它能监视各种网络参数,保证服务器系统的安全运营;并提供柔软的通知机制以让系统管理员快速定位/解决存在的各种问题。

    zabbix由2部分构成,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/2003/XP/Vista等系统之上。

    Server:指安装zabbix服务的服务器(以下简称服务器端),是最重要的部份,主要安装在linux系统上(支持多种操作系统),采用mysql存储监.控数据并使用apache+php的方式呈现。

    **

    环境搭建

    **

    [root@server2 3.4]# ls
    el6                                  php-mbstring-5.4.16-42.el7.x86_64.rpm       zabbix-proxy-mysql-3.4.6-1.el7.x86_64.rpm
    fping-3.10-1.el7.x86_64.rpm          zabbix-agent-3.4.6-1.el7.x86_64.rpm         zabbix-server-mysql-3.4.6-1.el7.x86_64.rpm
    iksemel-1.4-2.el7.centos.x86_64.rpm  zabbix-get-3.4.6-1.el7.x86_64.rpm           zabbix-web-3.4.6-1.el7.noarch.rpm
    php-bcmath-5.4.16-42.el7.x86_64.rpm  zabbix-java-gateway-3.4.6-1.el7.x86_64.rpm  zabbix-web-mysql-3.4.6-1.el7.noarch.rpm
    [root@server2 3.4]# yum install  * -y
    
    yum install php php-mysql  httpd

    **

    配置mysql

    **

    # mysql
    mysql> create database zabbix character set utf8 collate utf8_bin;
    mysql> grant all privileges on zabbix.* to zabbix@localhost identified by 'westos';
    mysql> quit;
    
    # cd /usr/share/doc/zabbix-server-mysql-2.4.5/create
    zcat create.sql.gc  |mysql -u zabbix   -p  zabbix(导入的库名字)
    

    **

    配置zabbix

    **

    # vim /etc/zabbix/zabbix_server.conf
    
    DBHost=localhost
    DBName=zabbix
    DBUser=zabbix
    DBPassword=westos

    **

    配置httpd

    **

    配置 php
    # vim /etc/httpd/conf.d/zabbix.conf
    php_value max_execution_time 300
    php_value memory_limit 128M
    php_value post_max_size 16M
    php_value upload_max_filesize 2M
    php_value max_input_time 300
    php_value date.timezone Asia/Shanghai

    **

    启动zabbix

    **

    启动 zabbix server、zabbix agent、httpd
    # service httpd start
    # service zabbix-server start
    # service zabbix-agent start

    这里写图片描述

    这里写图片描述

    启动后在配置重—主机看到可用性为绿色即可
    这里写图片描述

    **

    添加监控server

    **

    在被监控端安装软件包:
    zabbix-2.4.5-1.el6.x86_64.rpm
    zabbix-agent-2.4.5-1.el6.x86_64.rpm
    配置 zabbix agent
    # vim /etc/zabbix/zabbix_agentd.conf
    Server=172.25.15.21
    ServerActive=172.25.15.21
    Hostname=test2
    #主机名需要有解析
    启动 zabbix agent
    # service zabbix-agent start

    进入浏览器配置发现规则与动作
    这里写图片描述

    这里写图片描述

    这里写图片描述
    这里写图片描述

    这里写图片描述

    自动添加成功
    这里写图片描述

    手动添加主机
    这里写图片描述

    这里写图片描述
    选择linux os模板即可

    这里写图片描述

    手动添加 server自动注册方式 同样绿色zbx即可

    这里写图片描述

    这里写图片描述

    这里写图片描述

    **

    api的使用

    **
    验证api

    curl -s -X POST -H 'Content-Type:application/json' -d '
    {
        "jsonrpc": "2.0",
        "method": "user.login",
        "params": {
            "user": "Admin",
            "password": "westos"
        },
        "id": 1,
        "auth": null
    }' http://172.25.15.21/zabbix/api_jsonrpc.php | python -m json.tool
    
    
    [root@server2 mnt]# chmod  +x  1.sh 
    [root@server2 mnt]# sh  1.sh 
    {
        "id": 1,
        "jsonrpc": "2.0",
        "result": "289af3bcd5dbebc3027b1c5b078f373c"
    }
    
    
    查找host.id
    curl -s -X POST -H 'Content-Type:application/json' -d '
    {
        "jsonrpc": "2.0",
        "method": "host.get",
        "params": {
            "output": [
                    "hostid",
                     "host"
                 ],
                  "selectInterfaces":[
                   "interfaceid",
                     "ip"
                 ]
        },
        "auth": "289af3bcd5dbebc3027b1c5b078f373c",
        "id": 0
    }' http://172.25.15.21/zabbix/api_jsonrpc.php | python -m json.tool
    
    
    
    [root@server2 mnt]# sh 2.sh 
    {
        "id": 0,
        "jsonrpc": "2.0",
        "result": [
            {
                "host": "Zabbix server",
                "hostid": "10084",
                "interfaces": [
                    {
                        "interfaceid": "1",
                        "ip": "127.0.0.1"
                    }
                ]
            },
            {
                "host": "test2",
                "hostid": "10256",
                "interfaces": [
                    {
                        "interfaceid": "4",
                        "ip": "172.25.15.7"
                    }
                ]
            }
        ]
    }
    
    
    
    api删除主机
    curl -s -X POST -H 'Content-Type:application/json' -d '
    {
        "jsonrpc": "2.0",
        "method": "host.delete",
        "params": [
            "10256"
        ],
        "auth": "289af3bcd5dbebc3027b1c5b078f373c",
        "id": 0
    }' http://172.25.15.21/zabbix/api_jsonrpc.php | python -m json.tool
    
    ----------
    
    [root@server2 mnt]# chmod +x  3.sh 
    [root@server2 mnt]# sh 3.sh 
    {
        "id": 0,
        "jsonrpc": "2.0",
        "result": {
            "hostids": [
                "10256"
            ]
        }
    }
    

    如图 删除成功

    这里写图片描述

    **

    添加主机

    **

    自定义监控
    测试 监控nginx

    vim /etc/nginx/conf.d/defaults.conf
    
        }
       location /status {
                   stub_status on;
                  access_log off;
                   allow 127.0.0.1;
                    deny  all;
    }
    
    查看nginx显示的数据
    curl  -s http://127.0.0.1/status
    
    Active connections: 1 
    server accepts handled requests
     395 395 399 
    Reading: 0 Writing: 1 Waiting: 0 
    
    
    将数据发送给zabbix
    编辑读取数据的脚本
    vim /etc/zabbix/zabbix_agentd.d/userparameter_nginx.conf
    
    UserParameter=nginx.active,curl  -s http://127.0.0.1/status|grep Active|awk '{print $3}'
    UserParameter=nginx.server,curl  -s http://127.0.0.1/status|awk NR==3|awk '{print $1}'
    UserParameter=nginx.accept,curl  -s http://127.0.0.1/status|awk NR==3|awk '{print $2}'
    UserParameter=nginx.requests,curl  -s http://127.0.0.1/status|awk NR==3|awk '{print $3}'
    
    zabbix端  yum  zabbix-get rpm软件即可
    [root@server2 zabbix]# zabbix_get  -s 172.25.15.7  -p 10050  -k 'nginx.active'
    1
    [root@server2 zabbix]# zabbix_get  -s 172.25.15.7  -p 10050  -k 'nginx.server'
    176
    [root@server2 zabbix]# zabbix_get  -s 172.25.15.7  -p 10050  -k 'nginx.accept'
    186
    重启各项服务即可
    

    进入浏览器修改配置

    这里写图片描述
    键值一定与脚本文件中对应
    这里写图片描述
    这里写图片描述
    这里写图片描述

    效果如下
    这里写图片描述

    **

    导入percona模板

    **

    yum install percona-zabbix-templates-1.1.8-1.noarch.rpm 
    cd /var/lib/zabbix/percona/templates/
    cp  userparameter_percona_mysql.conf  /etc/zabbix/zabbix_agentd.d/
    cd  /etc/zabbix/zabbix_agentd.d/
    在这里可以看到key值
    [root@server2 zabbix_agentd.d]# cat userparameter_percona_mysql.conf 
    UserParameter=MySQL.Sort-scan,/var/lib/zabbix/percona/scripts/get_mysql_stats_wrapper.sh kt
    UserParameter=MySQL.slave-stopped,/var/lib/zabbix/percona/scripts/get_mysql_stats_wrapper.sh jh
    UserParameter=MySQL.Com-replace,/var/lib/zabbix/percona/scripts/get_mysql_stats_wrapper.sh jz
    UserParameter=MySQL.innodb-lock-structs,/var/lib/zabbix/percona/scripts/get_mysql_stats_wrapper.sh lp
    
    
    编辑php文件修改登陆数据库的用户密码
    cd /var/lib/zabbix/percona/scripts/
    vim  ss_get_mysql_stats.php.cnf
    <?php
    $mysql_user='root';
    $mysql_pass='westos';
    这里测试完脚本后在tmp下删除脚本导入的数据(local)再继续实验
    
    重启agent服务
    测试key值是否生肖
    [root@server2 zabbix_agentd.d]#  zabbix_get -s 127.0.0.1 -p 10050  -k  'MySQL.Com-replace'
    0
    

    本地导入模板即可
    这里写图片描述
    主机添加模板
    这里写图片描述
    看到主机监控项增加
    这里写图片描述

    **

    使用110云监控zabbix

    **

    1.切换到zabbix脚本目录
    
    vi /etc/zabbix/zabbix_server.conf
    查看AlertScriptsPath
    
    cd /usr/local/zabbix-server/share/zabbix/alertscripts
    
    2.获取OneITSM agent包:
    
    wget http://www.onealert.com/agent/release/oneitsm_zabbix_release-1.2.0.tar.gz
    
    3.解压、安装。
    
    tar -zxf oneitsm_zabbix_release-1.2.0.tar.gz
    cd oneitsm/bin
    bash install.sh d73ad4bf-b3eb-5e25-8867-1880eb8a90b9

    浏览器查看
    这里写图片描述
    这里写图片描述
    新的触发器
    这里写图片描述

    测试 停止test2
    这里写图片描述

    这里写图片描述

    查看问题状态 已送达即可
    这里写图片描述

    **

    通过zabbix监控tomcat

    **
    使用的java-gateway为java软件 所以安装jdk即可
    test2安装tomcat

    修改
    [root@server0 bin]# vim  catalina.sh
    
    CATALINA_OPTS='-Dcom.sun.management.jmxremote 
      -Dcom.sun.management.jmxremote.port=8888
      -Dcom.sun.management.jmxremote.ssl=false 
      -Dcom.sun.management.jmxremote.authenticate=false'
    
    [root@server0 bin]# lsof  -i:8888
    COMMAND   PID USER   FD   TYPE DEVICE SIZE/OFF NODE NAME
    java    24292 root   20u  IPv6 194585      0t0  TCP *:ddi-tcp-1 (LISTEN)
    java    24292 root   56u  IPv6 199434      0t0  TCP server0:ddi-tcp-1->test2:57520 (ESTABLISHED)
    
    
    配置监控端
    安装 zabbix-java-gateway
    修改zabbix-server的配置,编辑/etc/zabbix/zabbix_server.conf ,修改下面几个参数:
    # JavaGateway的服务器IP地址
    JavaGateway=192.168.89.204
    # JavaGateway的服务端口
    JavaGatewayPort=10052
    # 从javaGateway采集数据的进程数
    StartJavaPollers=5

    重启所有服务
    浏览器测试
    这里写图片描述
    修改模板即可
    这里写图片描述
    看到jmx打开即可
    这里写图片描述

    **

    zabbix 主被动配置

    **

    配置agent文件
    注释Server
    Serveractive=172.25.15.21
    打开# StartAgents=0(默认0)

    这里写图片描述
    这里写图片描述
    这里写图片描述

    **

    设置proxy代理

    **

    安装 zabbix-proxy-mysql
    [root@node3 ~]# vim /etc/zabbix/zabbix_proxy.conf 
    
    Server=172.16.10.126             #指向Zabbix Server
    Hostname=node3.scholar.com       #主机名
    DBHost=localhost                 #指定数据库
    DBName=zabbix_proxy              #数据库名
    DBUser=zbuser                    #数据库用户
    DBPassword=zbpass                #数据库密码
    ConfigFrequency=60               #配置文件同步间隔
    DataSenderFrequency=5            #数据同步间隔
    
    导入proxy库数据
    [root@server1 3.4]# cd /usr/share/doc/zabbix-proxy-mysql-3.4.6/
    [root@server1 zabbix-proxy-mysql-3.4.6]# ls
    AUTHORS  ChangeLog  COPYING  NEWS  README  schema.sql.gz
    [root@server1 zabbix-proxy-mysql-3.4.6]# zcat schema.sql.gz |mysql -u zabbix -p zabbix_proxy
    Enter password: 
    
    
    修改被代理的主机
    [root@server0 bin]# vim  /etc/zabbix/zabbix_agentd.conf 
    Server=172.25.15.22    proxy端
    serveractive=172.25.15.22
    
    浏览器修改配置
    
    
    

    这里写图片描述

    这里写图片描述

    如图出现代理即可
    这里写图片描述

    展开全文
  • 使用zabbix 监控linux系统性能 zabbix官方文档地址:https://www.zabbix.com/documentation/current/ 一 、zabbix server安装 准备工作: 关闭selinux 和 iptables systemctl stop firewalld.service ...

    使用zabbix 监控linux系统性能

    zabbix官方文档地址:https://www.zabbix.com/documentation/current/

    一 、zabbix server安装

    准备工作: 关闭selinux 和 iptables

    systemctl stop firewalld.service

    setenforce 0

    1.使用源 rpm -vhi http://repo.zabbix.com/zabbix/3.0/rhel/7/x86_64/zabbix-release-3.0-1.el7.noarch.rpm 
    2.安装zabbix-server-mysql和zabbix-web-mysql,命令 yum install -y zabbix-server-mysql zabbix-web-mysql
    3.安装并启动mysql及初始化数据库信息
    注:若已安装则不必重新安装mysql
    使用源: rpm -ivh http://repo.mysql.com/yum/mysql-5.6-community/el/6/x86_64/mysql-community-release-el6-5.noarch.rpm 
    安装命令: yum install -y mysql-community-server 
    启动mysql: systemctl start mysqld
    设置开机启动: /sbin/chkconfig mysqld on
    初始化数据库信息: mysql_secure_installation
    4.创建zabbix数据库,同时再创建zabbix账号
    进入mysql: mysql -uroot -p
    注:创建数据库记得设置编码格式为utf-8否则可能在web端出现乱码,图形无法正确展示
    mysql>  create database zabbix character set utf8 collate utf8_bin;
    Query OK, 1 row affected (0.00 sec)
    mysql> grant all privileges on zabbix.* to 'zabbix'@'localhost' identified by 'zabbix';
    Query OK, 0 rows affected (0.00 sec)
    mysql> flush privileges;
    Query OK, 0 rows affected (0.01 sec)
    5.导入初始数据
    在 /usr/share/doc/zabbix-server-mysql-3.0.23/ 目录下有个 create.sql.gz 文件
    注: 可能版本不同导致目录不相同,可以通过搜索文件的方式获取具体的目录 find / -name create.sql.gz
    导入默认配置: zcat /usr/share/doc/zabbix-server-mysql-3.0.23/create.sql.gz | mysql zabbix -uzabbix -pzabbix
    6.修改zabbix_server.conf配置
    DBHost=localhost #指明server数据库的地址
    DBName=zabbix #数据库名
    DBUser=zabbix #数据库用户名
    DBPassword=zabbix #数据库密码
    7.修改时区 vi /etc/httpd/conf.d/zabbix.conf
    
    8.启动zabbix-server服务
    启动服务: systemctl start zabbix-server
    设置开机启动: systemctl enable zabbix-server

    注:若启动失败可以用 journalctl -exjournalctl -xn 查看,或者查看 zabbix-server的log路径(zabbix_server.conf中),如下图

    二、安装zabbix-agent

    zabbix-agent可以和zabbix-server分开部署,本案例是分开部署,即在被监控的机器上安装zabbix-agent

    1.获取yum源 rpm -ivh https://mirrors.aliyun.com/zabbix/zabbix/3.0/rhel/6/x86_64/zabbix-agent-3.0.23-1.el6.x86_64.rpm

    注:可以将源的地址改为自己想要安装的实际版本的地址 版本源可参考:https://mirrors.aliyun.com/zabbix/zabbix/3.0/rhel/6/x86_64/

    源设置如图:

    2.安装

    安装命令: yum install zabbix-agent

    添加开机启动:chkconfig zabbix-agent on

    此时可以看到已经在  /etc/zabbix/ 文件夹下生成了 zabbix_agentd.conf和zabbix_agentd.d

    3.配置 zabbix_agentd.conf文件

    3.1 配置内容

    Server=安装zabbix-server的主机ip

    ListenPort=10050 #agent使用10050端口与server建立连接

    Hostname=agent_test #主机名

    BufferSize=100 #缓存大小

    Timeout=30 #超时时间

    UnsafeUserParameters=1 #允许所有字符的参数传递给用户定义的参数

    3.2 配置agent用户和组

    $groupadd zabbix

    $useradd -g zabbix

    之后启动agent

    命令: systemctl start zabbix-agent.service

    使用 netstat -an | grep 10050 查看10050端口是否成功启动

    如上显示表明 agent 启动成功

    注:记得被监控主机开放 10050 端口

    三、配置IO监测

    1.在 /etc/zabbix/zabbix_agentd.d 下添加 userparameter_io.conf 文件

    UserParameter=custom.vfs.dev.read.ops[*],cat /proc/diskstats | grep $1 | head -1 | awk '{print $$4}'
    UserParameter=custom.vfs.dev.read.ms[*],cat /proc/diskstats | grep $1 | head -1 | awk '{print $$7}'     #//磁盘读的毫秒数
    UserParameter=custom.vfs.dev.write.ops[*],cat /proc/diskstats | grep $1 | head -1 | awk '{print $$8}' #//磁盘写的次数
    UserParameter=custom.vfs.dev.write.ms[*],cat /proc/diskstats | grep $1 | head -1 | awk '{print $$11}'   #//磁盘写的毫秒数
    UserParameter=custom.vfs.dev.io.active[*],cat /proc/diskstats | grep $1 | head -1 | awk '{print $$12}'
    UserParameter=custom.vfs.dev.io.ms[*],cat /proc/diskstats | grep $1 | head -1 | awk '{print $$13}'      #//花费在IO操作上的毫秒数
    UserParameter=custom.vfs.dev.read.sectors[*],cat /proc/diskstats | grep $1 | head -1 | awk '{print $$6}'        #//读扇区的次数(一个扇区的等于512B)
    UserParameter=custom.vfs.dev.write.sectors[*],cat /proc/diskstats | grep $1 | head -1 | awk '{print $$10}'      #//写扇区的次数(一个扇区的等于512B)

    2.重启 zabbix-agent 服务: systemctl restart zabbix-agent.service

    3.在 zabbix-server 端获取数据测试

    zabbix_get -s 被监控主机IP -p 10050 -k custom.vfs.dev.write.ops[vda1],能获取到数据说明配置成功

    注:vda1是目标盘号

    四、web端创建主机,添加IO监控

    1. 创建被监控主机

    添加后点击主机可以看到新添加的主机

    2.添加应用集:点击主机所在行的应用集,进入后右上角点击创建应用集,名称自己定义

     

    3.在所在主机菜单点击模板选项,选择连接指示器,在相应的群组中选择相应的模板

    注:点击更新前需要点击添加按钮,否则添加不生效

    4.在模板中点击监控项,创建相应的监控项(按钮同样在右上角)

     

    4.1 配置第一个监控项

     Name:  Disk:$1:Read:Bytes/sec
       Key:  custom.vfs.dev.read.sectors[vda1]
       Units: B/sec
       Store value: speed per second //会进行差值计算
       Use custom multiplier     512  //会对值乘以512,因为这里是一个扇区,转换为字节为512B
    4.2 配置第二个监控项

     Name:Disk:$1:Write:Bytes/sec
                      Key:          custom.vfs.dev.write.sectors[vda1]
                      Units:        B/sec
                      Store value: speed per second
                      Use custom multiplier     512

    4.3 配置第三个监控项

      Name:Disk:$1:Read:ops per second
                      Key:          custom.vfs.dev.read.ops[vda1]
                      Units:        ops/second
                      Store value: speed per second

    4.4 配置第四个监控项 Name: Disk:$1:Write:ops per second
                      Key:          custom.vfs.dev.write.ops[vda1]
                      Units:        ops/second
                      Store value: speed per second

    4.5 配置第五个监控项

     Name: Disk:$1:Read:ms
                      Key:         custom.vfs.dev.read.ms[vda1]
                      Units:      ms
                      Store value: speed per second

    4.6 配置第六个监控项

    Name:Disk:$1:Write:ms
                      Key:         custom.vfs.dev.write.ms[vda1]
                      Units:      ms
                      Store value: speed per second

    注:参数 vda1 为监控的盘符,可在agent服务器上通过 df 命令进行查询,一般监控使用多的盘

    5. 创建监控图形,在模板中点击图形,再点击右上角的创建图形按钮

    至此图形创建成功,如图

    点击预览可看到图形

    样式如图,可能不会实时显示数据,如想看数据,可在菜单栏点击 监控中》》图形》》群组》》主机》》图形》》

    五、自建模板监控某进程的状态

    (一).场景:如监控 b2b-discovery-0.1.0-SNAPSHOT.jar 这个jar包在被监控主机中是否运行中、所占cpu资源、cpu使用时间等信息

    一般监控项的结果是数值或文本,如 检测以上jar包有几个进程在运行

    最终通过agent将数据插入数据库保存,在web页面展示或设置报警等操作,如图

    (二)在agent端配置监控文件

    1. 编辑的文件目录 vi etc/zabbix/zabbix_agentd.conf

    在 UserParameter 下添加配置 

    UserParameter=discovery_proc_num,ps -ef|grep b2b-discovery-0.1.0-SNAPSHOT.jar |grep -v grep|wc -l

    成功后重启agent 命令: systemctl restart zabbix-agent.service

    (三)web端创建监控项

    其监控命令:

    UserParameter=discovery_proc_num,ps -ef|grep b2b-discovery-0.1.0-SNAPSHOT.jar |grep -v grep|wc -l #进程数数
    UserParameter=discovery_cpu_resourse_use_rate,ps -ef|grep b2b-discovery-0.1.0-SNAPSHOT.jar |grep -v grep|awk '{print $4}' # 应用占用cpu资源百分比
    UserParameter=discovery_cpu_use_time,ps -ef|grep b2b-discovery-0.1.0-SNAPSHOT.jar |grep -v grep|awk '{print $7}' #cpu占用时间
    UserParameter=discovery_cpu_use_rate,ps -aux|grep b2b-discovery-0.1.0-SNAPSHOT.jar |grep -v "grep"|grep -v "processstatus.sh"|awk '{sum+=$3}; END{print sum}' #cpu使用率
    UserParameter=discovery_mem_use_rate,ps -aux|grep b2b-discovery-0.1.0-SNAPSHOT.jar |grep -v "grep"|grep -v "processstatus.sh"|awk '{sum+=$4}; END{print sum}' #内存使用率
     

    结尾:

    以下贴出一下自己查过的资料

    zabbix各项监控方式综述(很全): http://blog.51cto.com/ustogether/1922361

    agent 端配置文件说明: http://blog.chinaunix.net/uid-29155617-id-4668602.html

    server端安装部署: https://www.cnblogs.com/xiewenming/p/7732144.html

    创建模板、监控项: http://blog.51cto.com/183530300/2087741

    自定义IO监控: https://blog.csdn.net/hao134838/article/details/57406028

    添加IO监控: https://blog.csdn.net/mtj66/article/details/78591663

    监控进程的cpu的内存占用量: https://blog.csdn.net/dc666/article/details/78120828

    agent类型key:http://www.ttlsa.com/zabbix/zabbix-agent-types-and-all-keys/

    安装agent并添加到zabbix web中监控: http://blog.51cto.com/dyc2005/1971212

    阿里云zabbix教程(也很全,有不懂的也可参考): https://www.aliyun.com/jiaocheng/135759.html

    zabbix常用监控项: https://blog.csdn.net/u011731378/article/details/80154393

    展开全文
  • 目标 将命令iostat中的一项数据在zabbix前端监控中显示。 iostat命令 iostat命令被用于监视系统输入输出设备和CPU的使用情况 这里取出磁盘sda的tps项,注:...在监控端测试客户端自定义监控项是否正常 安装检查工具:
  • 2)2.Zabbix的作用监控Windows和Linux主机上的软硬件状态。监控各网络设备,如路由器、交换机、防火墙、f5、打印机等。支持邮件短信微信等平台发送告警通知。通过web页面及图形展示监控数据。3)Zabbix的特性由Zabbix ...

    一. Zabbix的介绍

    1) Zabbix是什么

    Zabbix是一款基于web页面的、开源的、企业级的,支持分布式部署的监控软件。

    2)2.Zabbix的作用

    监控Windows和Linux主机上的软硬件状态。

    监控各网络设备,如路由器、交换机、防火墙、f5、打印机等。

    支持邮件短信微信等平台发送告警通知。

    通过web页面及图形展示监控数据。

    3)Zabbix的特性

    由Zabbix server和agent程序协同工作,还支持分布式监控,这时需要安装zabbix proxy程序

    Zabbix分为主动监控(agent active)和被动监控:

    Zabbix主动模式:Agent主动请求server获取主动的监控项列表,并主动将监控项内需要检测的数据提交给server/proxy,zabbix agent首先向ServerActive配置的IP请求获取active items,获取并提交active tiems数据值server或者proxy;

    Zabbix被动模式:Server向agent请求获取监控项的数据,agent返回数据,Server打开一个TCP连接,Server发送请求agent.ping,Agent接收到请求并且响应,Server处理接收到的数据。

    监控手段(server或proxy通过什么方式来收集监控到的数据)常用的有:

    SNMP(polling,trapping)

    IPMI(监控硬件状况)

    JMX(监控Java应用)

    自定义监测(自定义各类监控脚本监测)

    灵活的阈值设定:支持自定义问题阈值,即触发器(trigger),储存于数据库中。

    高级的报警设置:自定义报警升级、接受者以及报警的方式,在配置中允许使用宏变量,可以通过远程命令来实现自动化动作。

    实时图像:课通过内置的绘图方式实现监控数据绘图,并可以自定义视图等。

    模板:支持模板中添加组监控,并允许继承使用。

    网络自动发现及自动注册:自动发现主机、网卡设备、SNMP等

    zabbix API:提供程序级别的访问接口,第三方程序可以很快接入

    4)zabbix系统的组成

    zabbix_server : 服务端守护进程, 负责处理zabbix_agentd、zabbix_get、zabbix_sender、zabbix_proxy提供的数据,并通过web界面呈现这些数据。

    zabbix_agentd :客户端守护进程,负责收集客户端上的数据并发送给server或proxy。

    zabbix_get : 服务端工具,在服务器上执行,用于手动收集客户端的监控数据,可以用于监控测试或者排错。

    zabbix_sender: 客户端工具,用于发送数据给server或者proxy,通常用于耗时比较长的检查。很多检查非常耗时间,导致zabbix超时。于是我们在脚本执行完毕之后,使用sender主动提交数据;

    zabbix_proxy : 类似于server,但它只是一个中转站,当跨地区,跨机房部署zabbix系统时,需要用到它,以将它收集到的数据发送给server。

    5)zabbix的监控流程:

    Zabbix监控完整流程包括:Agentd安装在被监控的主机上,Agent负责定期收集客户端本地各项数据,并发送到Zabbix Server端,Zabbix Server收到数据,将数据存储到数据库中,用户基于Zabbix WEB可以看到数据在前端展现图像。

    二. zabbix安装前准备zabbix3.2

    1)zabbix安装不同硬件配置环境样例:

    318788f9b7d2cab50dd26f8f63f2fec0.png

    2)zabbix安装需要的数据库版本:

    ab9c4b7466a5a0c3a9443c61b191cb7c.png

    3)zabix安装需要的前端软件版本:

    954d91d99e9d42d742f36e1fb426451a.png

    4)zabbix安装需要的php扩展:

    5203795734c751e42fa8c71da0078d14.png

    下面是我源码安装php的流程及编译参数:

    # wget

    # tar -zxf mirror # cd php-5.6.31/

    # ./configure --prefix=/usr/local/php5.6  --with-config-file-path=/usr/local/php5.6/etc  \

    --with-bz2 --with-curl --enable-ftp --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 \

    --with-mysql=/usr/local/mysql/ --with-apxs2=/usr/local/apache2/bin/apxs

    报错:checking for BZip2 in default path... not found configure: error: Please reinstall the BZip2 distribution

    解决:# yum -y install bzip-devel

    报错: configure: error: Cannot find libmysqlclient_r under /usr/local/mysql/. Note that the MySQL client library is not bundled anymore!

    其实这跟PHP没有关系,那是因为在编译APACHE的时候,使用--with-mpm模块 所以就必须在编译MYSQL的时候加上--enable-thread-safe-client.参数就行 下面是一些比较简便的办法:

    网上主流的办法:1. # cd /usr/local/mysql/lib/mysql/

    # ln -s libmysqlclient.so.15.0.0 libmysqlclient_r.so

    #可是我并在/lib下并没有mysql这个库。所有此种方法没有成功#最后用下面这种办法解决:

    2.# ln -s /usr/local/mysql/lib /usr/local/mysql/lib64

    整合PHP和Apache:

    # cp php.ini-development /usr/local/php5.6/etc/php.ini

    # 在apachede的主配置文件中添加下面两条指令:

    AddType application/x-httpd-php .php     //设置PHP文件类型

    LoadModule php5_module  modules/libphp5.so  //加载PHP模块

    #指明index.php文件:

    DirectoryIndex index.php index.html

    测试PHP是否加载成功:(通过浏览器访问IP)

    #echo "<?php  phpinfo(); ?>" /usr/local/apache2/htdocs/index.php

    三.安装zabbix

    1)安装环境:

    CentOS7 httpd2.4.27 php5.6.31 mysql5.5.20

    2)安装zabbix_server:

    下载安装zabbix:

    # wget  http://sourceforge.net/projects/zabbix/files/ZABBIX%20Latest%20Stable/3.2.6/zabbix-3.2.6.tar.gz/download

    # groupadd zabbix# useradd  -g zabbix zabbix

    # tar zxf zabbix-3.2.6.tar.gz

    # cd   zabbix-3.2.6

    #./configure --prefix=/usr/local/zabbix/ --enable-server --enable-agent --with-mysql --enable-ipv6 --with-net-snmp --with-libcurl# make&&make install# ln -s /usr/local/zabbix/sbin/zabbix_*  /usr/local/sbin/

    创建zabbix数据库并授权:

    # /etc/init.d/mysqld restart

    # mysql -uroot -p

    mysql> CREATE DATABASE zabbix charset=utf8;

    mysql> GRANT ALL ON zabbix.* to zabbix@localhost IDENTIFIED BY 'jiajie';mysql> FLUSH PRIVILEGES;

    mysql> EXIT#cd zabbix-3.2.6

    将Zabbix基础SQL文件导入mysql数据至Zabbix数据库,注意server端应该导入下面三个数据库文件

    # cd zabbix-3.2.6

    # mysql -uzabbix -pjiajie zabbix

    # mysql -uzabbix -pjiajie zabbix

    # mysql -uzabbix -pjiajie zabbix

    备份zabbix_server配置文件,并打开配置文件修改为上面设置的数据库密码DBPassword=jiajie

    # cd /usr/local/zabbix/etc/

    # cp  zabbix_server.conf{,.bak}# vim zabbix_server.conf

    DBPassword=jiajie  //数据库授权的密码

    同时复制zabbix_server启动脚本至/etc/init.d/下

    # cd  ../zabbix-3.2.6

    # cp  misc/init.d/tru64/zabbix_server  /etc/init.d/zabbix_server

    # chmod  o+x  /etc/init.d/zabbix_server

    接下来配置web端,并重启zabbix以及mysql服务 并查看相关端口是否起来。zabbix_server的端口是10051,agent的端口是10050

    # cp  -a zabbix-3.2.6/frontends/php/* /usr/local/apache2/htdocs/

    # /etc/init.d/mysqld restart

    # /etc/init.d/zabbix_server restart

    然后修改PHP的配置文件,使其支持zabbix。这个上面就有说明。之后重启httpd服务即可。

    # vim /usr/local/php5.6/etc/php.ini

    date.timezone = PRC

    post_max_size =16M

    max_execution_time=300

    max_input_time=300

    always_populate_raw_post_data = -1

    # /etc/init.d/httpd restart

    开始安装zabbix_web页面,浏览器访问httpd服务的IP地址即可。根据提示安装即可。

    543efa0d0968771e949febb2ed7e4e6a.png

    错误:修改了php.ini参数依然报错,显然是那些参数没有生效。这时候查看php.ini的路径是否正确。

    如果php.ini的路径是正确。查看了php.ini的路径是正确的,但是还是没有生效。

    这时候你可以在apache的配置文件中指明php.ini的路径。加上PHPIniDir "/usr/local/php5.6/etc/" 这条指令即可。

    重启apache,获取到路径。完美解决。

    33bc0cf43b7038a78608f3b1da7cb859.png31dbac7628ff320d5e42b19e29f8f2c1.png

    配置数据库连接,输入数据库名、用户、密码,单击Test connection,显示OK,单击下一步即可。

    4ded96e3689f8febd8483e465191761f.png

    填写Zabbix Title显示,可以为空,可以输入自定义的名称:

    d4e81aaad76aa4a80fbe9e460be21415.png

    f2ba4db2e546fe6a47811b82c2760cb7.png单击下一步,出现需修创建zabbix.conf.php文件,执行如下命令,或者单击“Download the configuration file”下载zabbix.conf.php文件,将该文件上传到/usr/local/apache2/htdocs/conf,并设置可写权限,刷新WEB页面,最后单击Finish即可:

    dc195597ebe0e29d478025f274ecfe6e.png

    登录Zabbix WEB界面,默认用户名和密码为:admin/zabbix

    f89b4c8d275e68e96f4c3cbe3128fcaf.png

    zabbix安装完成后,但是显示服务没有起来一直显示zabbix server is not running ,这时候查看端口和进程,没有任何显示。

    排错首先查看日志和端口:

    # ss -tnl|grep 10051

    # ps -ef|grep zabbix

    # tail -f  /tmp/zabbix_server.log

    54587:20170821:151740.795 [Z3001] connection todatabase 'zabbix' failed: [2002]

    Can't connect to local MySQL server throughsocket '/var/lib/mysql/mysql.sock' (13)

    54587:20170821:151740.795 database is down:reconnecting in 10 seconds

    解决办法:一看就是找不到mysql.sock的路径,找到mysql.sock的路径并打开zabbix_server的配置文

    件指明DBSocket的路径。重启服务即可

    # find / -name mysql.sock

    /tmp/mysql.sock

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

    DBSocket=/tmp/mysql.sock

    3)安装zabbix_agent端:安装客户端和服务端的差不多,这里就直接给出脚本吧:

    #!/bin/bash#auto install zabbix agent

    #by jiajie 20170822#############

    ZABBIX_SOFT="zabbix-3.2.6"

    INSTALL_DIR="/usr/local/zabbix"

    URL=http://sourceforge.net/projects/zabbix/files/ZABBIX%20Latest%20Stable/3.2.6/zabbix-3.2.6.tar.gz/download

    IP=`ifconfig ens33|sed -n '2p'|awk '{print $2}'`

    read -p "Please input zabbix_server IP:" SERVER_IP

    ###jump IP is rightful

    if [[ $SERVER_IP =~ ^[0-9]{1,3}\.[0-9]{1,3}\.[0-9]{1,3}\.[0-9]{1,3}$ ]];then

    continue

    else

    echo -e  "\033[31mIP format error!\033[0m"

    exit 0

    fi

    AGENT_INSTALL(){

    if [ -d $INSTALL_DIR ];then

    echo "zabbix_agent is already install..."

    exit 1

    else

    if [ ! -d /software ];then

    mkdir /software

    fi

    fi

    cd /software

    yum -y install curl curl-devel net-snmp net-snmp-devel perl-DBI

    groupadd zabbix ;useradd -g zabbix zabbix

    wget $URL tar -xf download

    cd  $ZABBIX_SOFT

    ./configure  --prefix=/usr/local/zabbix  --enable-agent

    if [ $? -eq 0 ];then

    make install

    else

    echo "./configure is error,please check..."

    exit 2

    fi

    ln -s $INSTALL_DIR/sbin/zabbix_* /usr/local/sbin/

    cp  misc/init.d/tru64/zabbix_agentd  /etc/init.d/zabbix_agentd &&

    chmod o+x /etc/init.d/zabbix_agentd

    #config zabbix agentdcat >$INSTALL_DIR/etc/zabbix_agentd.conf<

    LogFile=/tmp/zabbix_agentd.log

    Server=$SERVER_IP

    ServerActive=$SERVER_IP

    Hostname = $IP

    EOF

    #start zabbix agentd

    iptables -F

    setenforce 0

    /etc/init.d/zabbix_agentd restart

    }

    AGENT_INSTALL

    更多Zabbix相关教程集合:

    ZABBIX 的详细介绍:请点这里

    ZABBIX 的下载地址:请点这里

    0b1331709591d260c1c78e86d0c51c18.png

    展开全文
  • zabbix测试

    2021-03-21 15:36:05
    ab -n 300000 -c 1000 http://192.168.0.180/zabbix/zabbix.php 如果使用内存过大会导致其他服务崩溃,查看服务有没有服务崩溃: netstat -nplt cat /var/log/message 2.centos安装htop yum install epel-r

    常用的监控命令

    1.测试内存压力

    首先要关闭swap

    swapoff -a
    

    查看内存变化

    watch free -m
    

    在这里插入图片描述

    请求测试 ab -n(请求数量) -c(一次并发请求的数量)

    ab -n 300000 -c 1000 http://192.168.0.180/zabbix/zabbix.php
    

    如果使用内存过大会导致其他服务崩溃,查看服务有没有服务崩溃:

    netstat -nplt 
    
    cat /var/log/message
    

    2.centos安装htop

    yum install epel-release -y
    yum install -y htop
    

    在这里插入图片描述

    3.uptime:

    在这里插入图片描述

    4.安装iftop:

    CentOS上安装所需依赖包:

    yum install flex byacc  libpcap ncurses ncurses-devel libpcap-devel
    

    Debian上安装所需依赖包:

    apt-get install flex byacc  libpcap0.8 libncurses5
    

    https://www.vpser.net/manage/centos-rhel-linux-third-party-source-epel.html 这个教程安装好EPEL,直接

    yum install iftop
    

    在这里插入图片描述

    Debian系统 运行:

    apt-get install iftop
    

    5.安装iostat

     yum install sysstat
    

    在这里插入图片描述
    安装iotop(可以查看每个进程占用多少硬盘空间)

     yum -y install iotop
    

    在这里插入图片描述

    3. netstat 查看有多少并发:

    netstat -npta | grep 80
    

    在这里插入图片描述
    计数:
    grep -c 计数

    netstat -npta | grep 80| grep -c "ESTABLISHED"
    

    在这里插入图片描述

    shell 监控:

    在这里插入图片描述

    自定义监控:

    1.自定义监控,修改配置文件:

    vim /etc/zabbix/zabbix_agentd.conf
    

    在这里插入图片描述
    在监控项出修改;
    可通过安装zabbix_get进行查看是否起作用:

    yum install -y zabbix-get.x86_64
    

    使用:

    [root@localhost ~]# zabbix_get -s 127.0.0.1 -k iostat_tps
    9.81
    

    2.自定义监控:触发器的格式:

    在这里插入图片描述

    展开全文
  • 1.Zabbix简介Zabbix是一个企业级的开源分布式监控解决方案,由一个国外的团队持续维护更新,软件可以自由下载使用,运作团队靠提供收费的技术支持赢利;http://www.zabbix.com/documentation/2.0/manual/quickstart...
  • 测试版本,Zabbix 2.4.6Linux zabbix IO监控监控原理通过定时监控iostata -dx 1 输出数据采集硬盘IO1.服务器安装yum install sysstat#iostat 工具安装2.设置本机计划任务crontab -e*/3 * * * * /usr/bin/iostat -...
  • 搭建Zabbix监控服务器 准备运行环境(lamp) [root@zhuji1 ~]# yum -y install httpd [root@zhuji1 ~]# yum -y install php php-mysql [root@zhuji1 ~]# yum -y install mysql mysql-server [root@zhuji1 ~]# /etc/...
  • 一、Zabbix 监控Tomcat 1、需要安装的软件: Java JRE环境,1.7或1.8 Zabbix-Java-Gateway cmdline-jmxclient.jar工具 2、Zabbix的JMX监控架构 3、组件关系示意图: 当Zabbix-Server需要知道java应用程序的某项...
  • 一、zabbix监控httpd服务 httpd是zabbix自带的监控模块 1、 在server2上安装apache,开启服务 [root@server2 zabbix]# yum install httpd -y [root@server2 zabbix]# systemctl start httpd [root@server2 zabbix]# ...
  • zabbix基于企业微信、钉钉群聊机器人实现自动化报警 在企业中,我们使用zabbix去进行监控,需要时刻关注应用服务的运行情况,这就少不了实时报警,而使用即时通讯软件报警相对就很方便。 监控环境准备 部署zabbix-...
  • zabbix_agentd命令 功能: 用于监控各种服务器参数的守护进程 注意事项: 1.zabbix_agentd是安装到被监控服务器上 2.zabbix_agentd是一个跨平台工具 3.zabbix_agentd 将监控数据发送至zabbix_server 上,达到...
  • Zabbix简介 zabbix是一个基于WEB界面的提供分布式系统监视以及网络监视功能的企业级的开源 解决方案。 zabbix能监视各种网络参数,保证服务器系统的安全运营; 并提供灵活的通知机制以让系统管理员快速定位/解决...
  • 3、在web界面添加相应的云告警媒介,将其它消息介质类型都禁用掉,为了实验效果明显起见,只留onealert 触发器启动告警条件 4、在onealert官网添加通知策略 5、测试报警接收:关闭server2主机的zabbix-agent服务,...
  • Zabbix 1、Zabbix可视化 1、 简介 企业进行监控的数据和服务项目是一个巨大的工程,我们在进行监控是需要更直观的了解各项数据的情况,图形无疑是一个最佳选择,Zabbix提供直观展示功能。 2、 自定义图形(Graphs) ...
  • Linux 安装zabbix客户端

    千次阅读 2017-10-08 08:55:59
    测试环境:centos 6.6 zabbix-2.4.8  1、下载zabbix wget https://ncu.dl.sourceforge.net/project/zabbix/ZABBIX%20Latest%20Stable/2.4.8/zabbix-2.4.8.tar.gz 2、解压 tar -zxvf zabbix-2.4.8.tar.gz  3...
  • 本片博客主要介绍了[Zabbix] Centos 6下 Zabbix 3.4邮件报警配置及Zabbix邮件故障解决方法 ;分别介绍了zabbix使用本地账号发送邮件报警及使用互联网账号发送邮件报警配置,并处理邮件发送故障“cannot connect to ...
  • LINUX学习之ZABBIX

    2017-07-06 12:27:23
    LINUX学习之ZABBIX配置
  • Linux 版本:ubuntu 20.04.1 Linux下载网址:https://www.linux.org/pages/download/ ...选择Ubuntu desktop或Ubuntu Server都...wget https://repo.zabbix.com/zabbix/5.0/ubuntu/pool/main/z/zabbix-release/zabbix-rele
  • Linux 安装zabbix服务端

    2017-10-07 17:48:38
    测试环境:centos 6.6 zabbix-2.4.8  1、安装LAMP环境 采用yum安装方式:http://blog.csdn.net/yang_xu_1987/article/details/77715051 --如果是zabbix3需要php5.4以上支持,centos6 yum安装最高为5.3.3,换源...
  • 搭建Zabbix监控一,搭建Zabbix监控 服务器 192.168.4.211.1 部署服务运行环境 (LAMP/LNMP)1.2 安装zabbix 软件(源码)软件包:zabbix-3.2.3.tar.gzphp-bcmath-5.4.45-13.el7.remi.x86_64.rpmphp-mbstring-5.4.45-13....
  • 使用 rpm -qa |grep -i zabbix 查看是否安装了 zabbix-server-pgsql ,然后删除 zabbix-server-pgsql,因为这里我们用的是 mysql   问题四: connection to database 'zabbix' failed: [2002] Can't connect ...
  • 这里简单总结一下Linux平台Zabbix Agent的安装配置,实验测试Zabbix版本比较老了(Zabbix 3.0.9),不过版本虽然有点老旧,但是新旧版本的安装步骤、流程基本差别不大。这里的总结仅仅当成一个操作手册,后续会...
  • 监控磁盘吞吐量 (1)检查磁盘的tps [root@zabbix-client ~]# yum -y install sysstat // 安装iostat工具 [root@zabbix-client ~]# iostat |awk '/^sda...[root@zabbix-client ~]# cat /etc/zabbix/zabbix_agentd.d/ios
  • Zabbix接口测试文档

    千次阅读 2018-07-10 08:49:26
    Zabbix接口测试文档 (V1.0) 2018.3 接口测试说明 注意:1.zabbix版本为3.0.14; 2.若已测试通过,则在相应的方法上加注(YES)标签; 3.测试时会在Request和Response栏做部分修改,注意与《Zabbix系统接口》...
  • Linux-Zabbix安装与部署

    2020-04-28 09:48:52
    啥是zabbix?zabbix是一个基于WEB界面的提供分布式系统监视以及网络监视功能的企业级的开源解决方案。能监视各种网络参数,保证服务器系统的安全运营;并提供灵活的通知机制以让系统管理员快速定位/解决存在的各种...
  • Linux下部署zabbix步骤 1、zabbix简介 1)zabbix是一个企业级开源监控解决方案(cpu、内存、磁盘、网络、服务等) 2)zabbix的基本组成: zabbix-server:监控程序 zabbix-agent:代理端 database:存储 web gui:...

空空如也

空空如也

1 2 3 4 5 ... 20
收藏数 10,535
精华内容 4,214
关键字:

linuxzabbix测试

linux 订阅