zabbix监控平台的搭建与服务的添加

####首先封装一个7.3的虚拟机
然后得到相应的包

  zabbix-get-3.4.6-1.el7.x86_64.rpm    fping-3.10-1.el7.x86_64.rpm            zabbix-java-gateway-3.4.6-1.el7.x86_64.rpm
iksemel-1.4-2.el7.centos.x86_64.rpm    zabbix-proxy-mysql-3.4.6-1.el7.x86_64.rpm  php-bcmath-5.4.16-42.el7.x86_64.rpm    zabbix-server-mysql-3.4.6-1.el7.x86_64.rpm     php-mbstring-5.4.16-42.el7.x86_64.rpm  zabbix-web-3.4.6-1.el7.noarch.rpm
zabbix-agent-3.4.6-1.el7.x86_64.rpm    zabbix-web-mysql-3.4.6-1.el7.noarch.rpm
  yum  install  zabbix-agent-3.4.6-1.el7.x86_64.rpm  zabbix-server-mysql-3.4.6-1.el7.x86_64.rpm   zabbix-web-3.4.6-1.el7.noarch.rpm  zabbix-web-mysql-3.4.6-1.el7.noarch.rpm   fping-3.10-1.el7.x86_64.rpm   iksemel-1.4-2.el7.centos.x86_64.rpm  php-bcmath-5.4.16-42.el7.x86_64.rpm php-mbstring-5.4.16-42.el7.x86_64.rpm   -y   ###后面两个是解决web的依赖性的,他对php的要求特别高,在下载php之前,首先看本机php的版本   yum  list  php    


   36  yum  install   mariadb-server  -y    ###下载数据库
   37  systemctl  start  mariadb
   38  mysql  -p
       create  database  zabbix  character  set  utf8  collate  utf8_bin;
       grant  all  privileges  on  zabbix.*  to  zabbix@localhost identified  by 'westos';


   40  cd    /usr/share
   41  ls
   42  cd  doc/zabbix-server-mysql-3.4.6/
   43  ls
   44  zcat  create.sql.gz   |  mysql  zabbix   ##解压查看并导入数据库zabbix里面
   45  mysql  
       use  zabbix;
        show  tables;


   46  cd  /etc/zabbix
   47  ls
   48  vim   zabbix_server.conf   ###改正这两行
         132 DBSocket=/var/lib/mysql/mysql.sock
         125 DBPassword=westos


   49  systemctl   start  zabbix-server
   50  cd   /etc/httpd/conf.d
   51  ls
   52  vim    zabbix.conf
    php_value date.timezone  Asia/Shanghai    ###打开时区的注释


   53  systemctl   start  httpd
   54  systemctl   start  zabbix-agent
       systemctl  stop  firewalld


####进入网页进行操作  http://172.25.17.111/zabix
如果都是ok字样,则进行下一步
该端口号为3306,密码为westos
服务的名字为zabbix  server
正式登陆界面  Admin     zabbix  ###用户名为Admin,密码为zabbix
 

####进去之后,点击人头像,改应用语言为中文
点配置,点主机,将状态停用的改为启用,点应用,则状态改为启用,可用性zbx变亮


####在6.5的主机里面做
  368  rpm    -ivh   zabbix-agent-3.4.6-1.el6.x86_64.rpm  ##下载与他版本匹配的包
  369  vim   /etc/zabbix/zabbix_agentd.conf
        97 Server=172.25.17.12###提供服务端
        149 Hostname=server1   ###本机端
        138 ServerActive=172.25.17.12


  370  vim /etc/hosts    ###一定要改域名解析
  371  /etc/init.d/zabbix-agent   start
  372  netstat  -antlupe  ##有10050  ##显示出来


#####进入浏览器界面
手动添加server2
配置---》主机---》创建主机---》主机---》server1.server1 ,linux  server导入左边的匡中,---改ip地址
配置---》主机---》创建主机---》模版  ###添加template  os  linux    添加
最后添加整体,在主机里面就有所显示添加的服务,点应用,开启服务就可以变亮
删除添加的主机,为下面做环境准备


####自动发现
配置---》动作----》事件来源为自动发现--》点击停用的,还要点击名称下面的代码,进去设置条件,服务类型为zabbix的客户端,接受到的值为linux,自动发现状态为上,
配置---》自动发现---》点击停用的---》创建发现规则   名称  local  network ip范围  172.25.17.1-254   检查新的,添加zabbix客户端,键值为system.uname
使用ip准则   然后就会在自动发现看见为1


#####自动注册###
首先删除自动发现的
配置---》自动发现 --->将状态变为停用
配置---》动作---》 将状态变为停用----》事件来源为自动注册---》创建动作--》动作--》名称为auto_reg,新的触发条件为主机名称server2----》操作--》 默认接受人为  Auto  registration:{HOST.HOST}默认信息Host name:{HOST.HOST}
HostIP:{HOST.IP}     Agent  port:{HOST.PORT}  操作细节--》新的--》添加主机,添加到主机群组(linux  server),与模版相连(template  OS  linux)
最后添加整体,在主机里面就有所显示添加的服务,点应用,开启服务就可以变亮在6.5的主机里面执行/etc/init.d/zabbix-agent   restart


做完后删除主机,为下面的实验做准备
#####使用api的方式创建主机

什么是API:
API(Application Programming Interface,应用程序编程接口)是一些预先定义的函数,目的是提供应用程序与开发人员基于某软件或硬件得以访问一组例程的能力,而又无需访问源 码,或理解内部工作机制的细节。简单的说,API就是对外的接口,利用API可以直接到达软件硬件内部来进行操作….
zabbix中API的作用:
Zabbix API为批量操作、第三方软件集成以及其他作用提供可编程接口。
API的大致工作流如下:
(1)API 采用JSON-RPC实现。这意味着调用任何函数,都需要发送POST请求,输入输出数据都是以JSON格式
(2)准备JSON对象,它描述了你想要做什么(创建主机,获取图像,更新监控项等)。
(3)获取JSON格式响应。

###在7.3的主机里面做
cd
vim   zabbix-api.sh     ###建立一个文件

1.查看zabbix监控系统的api接口:

curl -s  -X POST  -H  'Content-Type: application/json' -d '
{
    "jsonrpc": "2.0",
    "method": "user.login",
    "params": {
        "user": "Admin",
        "password": "zabbix"
    },
    "id": 1,
    "auth": null
}' http://172.25.17.111/zabbix/api_jsonrpc.php |  python  -m  json.tool


 59  chmod  +x   zabbix-api.sh
     ./zabbix-api.sh   ##会出现result的结果,将result的结果复制


  61  vim    zabbix-api.sh查看zabbix主机和被监控主机信息
curl -s  -X POST  -H  'Content-Type: application/json' -d '
{
    "jsonrpc": "2.0",
    "method": "host.get",
    "params": {
       "output":["host"]
    },
    "id": 1,
    "auth":"d6eb907522e8033423a5c81f6af5c43b"
}' http://172.25.17.111/zabbix/api_jsonrpc.php |  python  -m  json.tool



   62  ./zabbix-api.sh     会得到server2的hostid的值,复制


 89  vim zabbix-api.sh3.删除zabbix监控中的主机
curl -s  -X POST  -H  'Content-Type: application/json' -d '
{
    "jsonrpc": "2.0",
    "method": "host.delete",
    "params": [
       "10255"
    ],
    "id": 1,
    "auth":"d6eb907522e8033423a5c81f6af5c43b"
}' http://172.25.17.111/zabbix/api_jsonrpc.php |  python  -m  json.tool

   90  ./zabbix-api.sh


89  vim zabbix-api.sh ###创建主机
curl -s  -X POST  -H  'Content-Type: application/json' -d '
{

    "jsonrpc": "2.0",
    "method": "host.create",
    "params": {
        "host": "server1",    ##更改出
        "interfaces": [
            {
                "type": 1,
                "main": 1,
                "useip": 1,
                "ip": "172.25.17.1",  ##更改出受监控的ip
                "dns": "",
                "port": "10050"
            }
        ],
        "groups": [
            {
                "groupid": "10"  ##获取方法,群组找linux  server
            }
        ],
        "templates": [
            {
                "templateid": "10001"  ##模版找template OS  linux
            }
        ]       
},
    "id": 1,
    "auth":"d6eb907522e8033423a5c81f6af5c43b"
}' http://172.25.17.111/zabbix/api_jsonrpc.php |  python  -m  json.tool


   90  ./zabbix-api.sh


###在浏览器出可以发现新添了一个主机,开启服务,就变亮了

###在6.5的主机里面做
yum  install   -y  httpd
/etc/init.d/httpd  start   ###如果服务岂不来,就把端口改为8080
###在浏览器里面
点击server2 ,点击模版加入http  service,可以看见监控项多了一项


###另外开一台虚拟机server3
在server2里面
scp    zabbix-agent-3.4.6-1.el6.x86_64.rpm  [email protected]:/root
在7.3的主机做
创建一个监控项
vim   zabbix-api.sh
将域名和ip改为server3的域名和ip,进入浏览器看有没有增加成功,记得一定要做域名解析
./zabbish-api.sh


###在server3里面做
rpm  -ivh   zabbix-agent-3.4.6-1.el6.x86_64.rpm


cd  /etc/zabbix/
ls
vim  zabbix_agentd.conf
server=172.25.254.12
serverActive=172.25.254.12
Hostname=server2


/etc/init.d/zabbix-agent  start
####得到一个nginx的源代码,进行编译
tar  zxf   nginx-1.14.0.tar.gz
yum  install   -y  gcc  pcre-devel  zlib-devel  ##解决依赖性
cd   nginx-1.14.0
ls
./configure  --prefix=/usr/local/nginx --with-http_stub_status_module


make  &&  make  install


cd  /usr/local/nginx/
cd  conf
vim  nginx.conf
###在##error_page  404上面加
location  /status {
          stub_status   on;
           access_log  off;
           allow  127.0.0.1;
           deny  all;
     }


ln  -s   /usr/local/nginx/sbin/nginx   /sbin/
nginx  -t
nginx
curl   http://127.0.0.1/status
curl -s  http://127.0.0.1/status | grep Active | awk '{print $3}'


cd   /etc/zabbix
ls
cd zabbix_agentd.d
cp    userparameter_mysql.conf     userparameter_nginx.conf


vim  userparameter_nginx.conf
UserParameter=nginx.active,curl  -s  http://127.0.0.1/status | grep Active | awk '{print $3}'


/etc/init.d/zabbix-agent  restart
###在7.3的主机里面
rpm      -ivh  zabbix-get-3.4.6-1.el7.x86_64.rpm
zabbix_get  -s   172.25.254.12 -p 10050  -k "nginx.active"


###进入浏览器界面
点进server3里面--》监控项--》创建监控---》名称:nginx_active,类型zabbix
的客户端,键值nginx.active,必须和server3里面写的保持一致,主机接口172.25.254.2:10050  -->图形 --》创建图形--》 名称nginx_status-->图形类别为层积--》添加监控--》nginx_active--->预览--》便可以看见图形了


###监控nginx的其他项
#####在server3里面做
curl  -s http://127.0.0.1/status  |  awk  NR==3 | awk '{print $1}'
curl  -s http://127.0.0.1/status  |  awk  NR==3 | awk '{print $2}'
curl  -s http://127.0.0.1/status  |  awk  NR==3 | awk '{print $3}'


vim    /etc/zabbix/zabbix_agentd.d/userparameter_nginx.conf
UserParameter=nginx.accepts,curl  -s  http://127.0.0.1/status | awk  NR==3 | awk '{print $1}'
UserParameter=nginx.handled,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}'


/etc/init.d/zabbix-agent  restart
###在7.3的主机里面
zabbix_get  -s   172.25.17.3  -p 10050  -k "nginx.accepts"
zabbix_get  -s   172.25.17.3  -p 10050  -k "nginx.handled"
zabbix_get  -s   172.25.17.3  -p 10050  -k "nginx.requests"


###进入浏览器界面
点进server3里面--》监控项--》创建监控---》名称:nginx_accepts,类型zabbix的客户端,键值nginx.accepts,必须和server3里面写的保持一致,主机接口172.25.17.3:10050-->名称:nginx_handled,类型zabbix的客户端,键值nginx.handled-->名称:nginx_requests,类型zabbix的客户端,键值nginx.requests(将三个值都添加进去)-->图形 --》创建图形--》 名称nginx_status-->图形类别为层积--》添加监控--》nginx_accepts,nginx.handled,nginx.requests--->预览--》便可以看见图形了


####给zabbix  server添加mysql的监控
##在7.3的主机中做##此时应该有数据库

mkdir  /var/lib/zabbix
cd  /avr/lib/zabbix/
vim  .my.cnf  ##隐藏文件
[mysql]
host = localhost
user = zabbix
password = westos
socket = /var/lib/mysql/mysql.sock
[mysqladmin]
host = localhost
user = zabbix
password = westos
socket = /var/lib/mysql/mysql.sock


systemctl   restart  zabbix-agent
cd   /etc/zabbix/zabbix_agentd.d/
ls
cat  userparameter_mysql.conf  |  wc -l  ##查看监控多少行,只有19行,所以我们要下载别的


###得到一个percona-zabbix-templates-1.1.8-1.noarch.rpm包
rpm  -ivh   percona-zabbix-templates-1.1.8-1.noarch.rpm
cd  /var/lib/zabbix/percona/templates
ls
cp userparameter_percona_mysql.conf   /etc/zabbix/zabbix_agentd.d/
cat  userparameter_percona_mysql.conf   |  wc  -l  ##监控项有190行


systemctl  restart  zabbix-agent
cd  /var/lib/zabbix/percona/scripts/
mysql_secure_installation
vim  ss_get_mysql_stats.php.cnf
<?php
$mysql_user = 'root';
$mysql_pass = 'westos';


/var/lib/zabbix/percona/scripts/get_mysql_stats_wrapper.sh  gg


cd  /tmp
cat  localhost-mysql_cacti_stats.txt##有所显示


ll  localhost-mysql_cacti_stats.txt
chown zabbix.zabbix  localhost-mysql_cacti_stats.txt


###进入浏览器
配置--》模版--》群组为templates/Databases ----》倒入文件(zab_percona_mysql_template.xml)-->添加聚合图形--》导入--》 群组percona  templates  --->配置--主机--zabbixserver--》模版--》链接指示器选择mysql server--.>添加----》主机里面看,就多了190 个监控项  ##给zabbixserver配置

###报警设置,先注册110云
免费注册
配置应用,添加zabbix的应用,获得到一个应用key
###在7.3的主机里面做
cd  /usr/lib/zabbix/alertscriptds/
##得到一个包  oneitsm_zabbix_release-1.2.0.tar.gz
tar zxf  oneitsm_zabbix_release-1.2.0.tar.gz  -C  /usr/lib/zabbix/
alertscriptds/
cd  /usr/lib/zabbix/alertscriptds/
cd  oneitsm/bin


yum  install -y   net-tools  ##下载网关工具
route  -n
route  add  default  gw  172.25.254.56
vim  /etc/resolv.conf
nameserver  114.114.114.114
ping  baidu.com
cd   /usr/lib/zabbix/alertscripts/oneitsm/bin
./install.sh  应用key


管理地址:http://172.25.17.111/zabbix
管理员帐号:Admin
管理员密码:zabbix


##浏览器
管理--》报警媒介类型--》 创建媒介类型(oneitsm  media)
管理--》用户--》创建用户--》用户(填写--》报警媒介(添加全写)
配置--》动作--》事件源(触发器)--》选择oneitsm action 启用  -->创建动作--》名称 oneitsm  action 触发器名称--》


###在真机里面做
iptables  -t   nat  -nL
iptables  -t  nat  -I POSTROUTING  -s  172.25.0.0/24  -j MASQUERADE
iptables  -t   nat  -nL


###测试
让server2里面的/etc/init.d/zabbix-agent   stop
##观看会不会发送报警

猜你喜欢

转载自blog.csdn.net/weixin_42709236/article/details/83547514