linux zabbix监控

**

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

浏览器修改配置


这里写图片描述

这里写图片描述

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

猜你喜欢

转载自blog.csdn.net/iaMay_____/article/details/81668983
今日推荐