Linux运维:Zabbix监控(二)

一、Zabbix:API管理主机

1、获得令牌(zabbix主机:172.25.120.11)
[root@server7 ~]# vim zabbix-api
[root@server7 ~]# chmod +x zabbix-api 
[root@server7 ~]# cat 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.120.11/zabbix/api_jsonrpc.php | python -m json.tool

[root@server7 ~]# ./zabbix-api     ##执行脚本,获取令牌
{
    "id": 1,
    "jsonrpc": "2.0",
    "result": "e0ecfc8234c5176d36d9222f2208e540" ##令牌
}
2、删除监控主机(注意:停用自动发现和自动注册
  • 注意:hostid可以通过网址看到
[root@server7 ~]# vim zabbix-deleteapi
curl  -s -X POST -H 'Content-Type:application/json' -d '
{
    "jsonrpc": "2.0",
    "method": "host.delete",    ##执行的命令
    "params": [
    "10258"     ##监控主机的hostid
    ],
    "id": 1,
    "auth": "85b6908b50b6919800987457cd234fdc"      ##指定令牌
}' http://172.25.120.11/zabbix/api_jsonrpc.php | python -m json.tool
[root@server7 ~]# chmod +x zabbix-deleteapi

[root@server7 ~]# ./zabbix-deleteapi       ##执行脚本,删除主机
{
    "id": 1,
    "jsonrpc": "2.0",
    "result": {
        "hostids": [
            "10258"
        ]
    }
}
3、获取监控主机信息
[root@server7 ~]# vim zabbix-getapi
curl  -s -X POST -H 'Content-Type:application/json' -d '
{
    "jsonrpc": "2.0",
    "method": "host.get",
    "params": {
    "output":["host"]   ##输出主机信息
     },
    "id": 1,
    "auth": "85b6908b50b6919800987457cd234fdc"      ##指定令牌
}' http://172.25.120.11/zabbix/api_jsonrpc.php | python -m json.tool
[root@server7 ~]# chmod +x zabbix-getapi

[root@server7 ~]# ./zabbix-getapi  ##执行脚本get信息
{
    "id": 1,
    "jsonrpc": "2.0",
    "result": [
        {
            "host": "Zabbix server",    ##get的host信息
            "hostid": "10084"
        }
    ]
}
4、创建新的监控主机
  • groupid可以通过点击group,查看网址得到
[root@server7 ~]# vim zabbix-createapi
curl  -s -X POST -H 'Content-Type:application/json' -d '
{
    "jsonrpc": "2.0",
    "method": "host.create",
    "params": {
    "host": "server2",      ##新增的主机名
    "interfaces": [
      {
                "type": 1,
                "main": 1,
                "useip": 1,
                "ip": "172.25.120.2",   ##监控主机的IP
                "dns": "",
                "port": "10050"
            }
        ],
        "groups": [
            {
                "groupid": "2"      ##指定的groupid(Linux Server)
            }
     ],
        "templates": [
            {
                "templateid": "10001"   ##指定的templateid(Template OS Linux)
            }
        ],
    "inventory_mode": 0,
        "inventory": {
            "macaddress_a": "01234",
            "macaddress_b": "56768"
        }
},
    "id": 1,
    "auth": "85b6908b50b6919800987457cd234fdc"  ##指定令牌
}' http://172.25.120.11/zabbix/api_jsonrpc.php | python -m json.tool
[root@server7 ~]# chmod +x zabbix-createapi

[root@server7-1 ~]# ./zabbix-createapi         ##执行脚步,新增监控主机
{
    "id": 1,
    "jsonrpc": "2.0",
    "result": {
        "hostids": [
            "10259" ##新增的hostid:10259
        ]
    }
}

二、监控tomcat

  • 注意:域名解析
1、客户端(被监控主机)
##安装jdk
[root@server2 ~]# rpm -ivh jdk-8u121-linux-x64.rpm 
[root@server2 ~]# java -version        ##测试命令
java version "1.8.0_121"
Java(TM) SE Runtime Environment (build 1.8.0_121-b13)
Java HotSpot(TM) 64-Bit Server VM (build 25.121-b13, mixed mode)
2、配置tomcat
[root@server2 ~]# tar zxf apache-tomcat-7.0.37.tar.gz -C /usr/local/
[root@server2 ~]# cd /usr/local/
[root@server2 local]# ln -s apache-tomcat-7.0.37/ tomcat
[root@server2 local]# cd tomcat/bin/
[root@server2 bin]# vim catalina.sh     ##配置tomcat远程端口、加密
100 CATALINA_OPTS='-Dcom.sun.management.jmxremote
101   -Dcom.sun.management.jmxremote.port=8888
102   -Dcom.sun.management.jmxremote.ssl=false
103   -Dcom.sun.management.jmxremote.authenticate=false' 

[root@server2 bin]# ./startup.sh 
[root@server2 bin]# netstat -antple | grep 8888
tcp        0      0 :::8888                     :::*                        LISTEN      0          21874      3553/java  

##网页访问 http://172.25.120.2:8080/ 测试
3、server端(zabbix主机)
[root@server7 ~]# cd /etc/zabbix/
[root@server7 zabbix]# vim zabbix_server.conf 
262 JavaGateway=172.25.120.11   ##指定JavaGateway、Port、Pollers
270 JavaGatewayPort=10052
278 StartJavaPollers=5

[root@server7 ~]# systemctl start zabbix-java-gateway
[root@server7 ~]# netstat -antple | grep 10052
tcp6       0      0 :::10052                :::*                    LISTEN      997        109538     9230/java           
[root@server7 ~]# systemctl restart zabbix-server

三、报警(邮箱设置)

1、配置虚拟机上网
##虚拟机
[root@server7 ~]# route add default gw 172.25.120.250
[root@server7 ~]# vim /etc/resolv.conf 
nameserver 114.114.114.11
##物理机
[root@foundation120 ~]# iptables -t nat -I POSTROUTING -s 172.25.120.0/24 -j MASQUERADE

[root@server7 ~]# ping baidu.com
PING baidu.com (220.181.57.216) 56(84) bytes of data.
64 bytes from 220.181.57.216 (220.181.57.216): icmp_seq=1 ttl=48 time=79.1 ms
64 bytes from 220.181.57.216 (220.181.57.216): icmp_seq=2 ttl=48 time=102 ms
2、配置QQ邮箱
[root@foundation120 ~]# dig -t mx qq.com   ##选取SMTP一个作为服务器
qq.com.         5698    IN  MX  20 mx2.qq.com.
qq.com.         5698    IN  MX  30 mx1.qq.com.
qq.com.         5698    IN  MX  10 mx3.qq.com.

[root@server7 ~]# mail root
[root@server7 ~]# mail
Delivered-To: root@server7.localdomain
  • zabbix管理平台:
  • 配置 –> 动作 –> 触发器 –> 修改
  • 管理 –> 报警媒介 –> Email(指定服务器)
  • QQ邮箱配置:设置白名单
3、云告警 ##需要注册云告警,设置
[root@server3 zabbix]# cd -
/etc/zabbix
[root@server3 zabbix]# vim zabbix_proxy.conf    ##云告警的默认目录
509 ExternalScripts=/usr/lib/zabbix/externalscripts

[root@server7 ~]# cd /etc/zabbix/zabbix_server.conf
[root@server7 ~]# cd /usr/lib/zabbix/alertscripts
[root@server7 alertscripts]# tar zxf oneitsm_zabbix_release-1.2.0.tar.gz 
[root@server7 alertscripts]# cd oneitsm/bin/
[root@server7 bin]# ls
alert.sh  install.sh  log.sh  update.sh

[root@server7 bin]# ./install.sh 3ec5435b-d0d5-382c-69ba-ceff1e3cdbaa   ##key值
Zabbix管理地址: http://172.25.120.11/zabbix
Zabbix管理员账号: Admin
Zabbix管理员密码: ******
create action success!
安装成功.
4、进入onea!irt,激活邮箱,绑定微信,设置通知策略

这里写图片描述

5、进入zabbix启动,客户端关闭zabbix-agent

四、zabbix-proxy

  • 注意:域名解析
1、zabbix-proxy主机(server3)
  • 配置proxy
[root@server3 ~]# yum install -y fping-2.4b2-16.el6.x86_64.rpm zabbix-proxy-mysql-3.4.6-1.el6.x86_64.rpm
[root@server3 ~]# cd /etc/zabbix/
[root@server3 zabbix]# vim zabbix_proxy.conf
 24 Server=172.25.120.11
 43 Hostname=server3
167 DBName=zabbix_proxy
182 DBUser=zabbix
190 DBPassword=westos
198 DBSocket=/var/lib/mysql/mysql.sock
323 JavaGateway=172.25.120.11
331 JavaGatewayPort=10052
339 StartJavaPollers=5

[root@server3 zabbix]# /etc/init.d/zabbix-proxy start
  • 配置数据库
[root@server3 zabbix]# yum install -y mysql-server
[root@server3 zabbix]# /etc/init.d/mysqld start
[root@server3 zabbix]# mysql_secure_installation    ##设定密码
[root@server3 zabbix]# mysql -pwestos   ##指定数据库、用户、密码,与配置文件保持一致
mysql> create database zabbix_proxy character set utf8 collate utf8_bin;
mysql> grant all privileges on zabbix_proxy.* to zabbix@localhost identified by 'westos';

[root@server3 zabbix]# cd /usr/share/doc/zabbix-proxy-mysql-3.4.6/
[root@server3 zabbix-proxy-mysql-3.4.6]# ls
AUTHORS  ChangeLog  COPYING  NEWS  README  schema.sql.gz    ##数据库导入指定数据
[root@server3 zabbix-proxy-mysql-3.4.6]# zcat schema.sql.gz | mysql -u zabbix -p zabbix_proxy
Enter password: 

[root@server3 zabbix]# /etc/init.d/zabbix-proxy restart
[root@server3 zabbix]# cd /var/log/zabbix/
[root@server3 zabbix]# cat zabbix_proxy.log ##查看日志,必须保证proxy ok!!
  • 出现以下错误,查看服务状态,proxy和mysql,保证服务、端口ok即可
  1061:20180714:153423.217 [Z3001] connection to database 'zabbix_proxy' failed: [1045] Access denied for user 'zabbix'@'localhost' (using password: YES)
  1061:20180714:153423.217 database is down: reconnecting in 10 seconds
  1061:20180714:153433.256 database connection re-established
  1061:20180714:153433.256 [Z3005] query failed: [1146] Table 'zabbix_proxy.users' doesn't exist [select userid from users limit 1]
  1061:20180714:153433.256 cannot use database "zabbix_proxy": database is not a Zabbix database

##出现以下信息才ok
  1444:20180714:154811.567 received configuration data from server at "172.25.120.11", datalen 21387
2、zabbix主机(server7)
  • 进入zabbix管理界面配置proxy
  • 管理 –> agent代理程序 –> 新增代理服务器server3(代理server2,主动式)
[root@server7 zabbix]# systemctl restart zabbix-server
3、配置agent主机(server2)
  • 查看zabbix监控界面,ZBX和JMX正常即可
  • 常见错误:JMX报错,注意proxy主机 Java 的相关配置即可
[root@server2 ~]# cd /etc/zabbix/
[root@server2 zabbix]# vim zabbix_agentd.conf 
 97 Server=172.25.120.3     ##指向代理服务器
138 ServerActive=172.25.120.3

[root@server2 zabbix]# /etc/init.d/zabbix-agent restart
  • 0
    点赞
  • 0
    收藏
    觉得还不错? 一键收藏
  • 0
    评论

“相关推荐”对你有帮助么?

  • 非常没帮助
  • 没帮助
  • 一般
  • 有帮助
  • 非常有帮助
提交
评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包
实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

1.余额是钱包充值的虚拟货币,按照1:1的比例进行支付金额的抵扣。
2.余额无法直接购买下载,可以购买VIP、付费专栏及课程。

余额充值