xinjiang 发表于 2018-1-2 10:33:49

linux运维、架构之路

  一、Zabbix监控集群应用
  1、监控端口

https://common.cnblogs.com/images/copycode.gif  

net.tcp.listen         检查 TCP 端口 是否处于侦听状态。返回 0 - 未侦听;1 - 正在侦听  
net.tcp.port[<ip>,port]      检查是否能建立 TCP 连接到指定端口。返回 0 - 不能连接;1 - 可以连接
  
# zabbix_get -s 172.16.1.61 -p 10050 -k 'net.tcp.listen'
  
1
  
# zabbix_get -s 172.16.1.41 -p 10050 -k 'net.tcp.listen'
  
1
  
# zabbix_get -s 172.16.1.51 -p 10050 -k 'net.tcp.port[,3306]'
  
1
  

https://common.cnblogs.com/images/copycode.gif
  2、监控进程

https://common.cnblogs.com/images/copycode.gif  

proc.num[<name>,<user>,<state>,<cmdline>]    进程数。返回整数  进程名    进程用户进程状态   命令行
  
# zabbix_get -s 172.16.1.61 -p 10050 -k 'proc.num'
  
9
  
# zabbix_get -s 172.16.1.51 -p 10050 -k 'proc.num'
  
1
  

https://common.cnblogs.com/images/copycode.gif
  3、使用zabbix提供的MySQL模板
  

/etc/zabbix/zabbix_agentd.d/userparameter_mysql.conf  
UserParameter=mysql.ping,HOME=/var/lib/zabbix mysqladmin ping | grep -c alive
  
#如果mysql有密码,刚需加入密码
  

  4、监控URL地址来更精确的监控网站运行正常
  https://images2017.cnblogs.com/blog/1188655/201710/1188655-20171030152332121-1495621773.png
https://images2017.cnblogs.com/blog/1188655/201710/1188655-20171030152419340-2076415817.png
https://images2017.cnblogs.com/blog/1188655/201710/1188655-20171030152625652-1137466268.png
  5、监控nginx七种状态
  ①在nginx配置文件中加入
  

   server {  listen       127.0.0.1:80;
  stub_status on;
  access_log off;
  }
  

  

# curl 127.0.0.1  
Active connections: 1
  
server accepts handled requests
  193 193 781
  
Reading: 0 Writing: 1 Waiting: 0
  


https://common.cnblogs.com/images/copycode.gif  

# vim /etc/zabbix/zabbix_agentd.d/userparameter_nginx.conf  
UserParameter=nginx_active,curl -s127.0.0.1|awk '/Active/ {print $NF}'
  
UserParameter=nginx_accepts,curl -s127.0.0.1|awk 'NR==3 {print $1}'
  
UserParameter=nginx_handled,curl -s127.0.0.1|awk 'NR==3 {print $2}'
  
UserParameter=nginx_requests,curl -s127.0.0.1|awk 'NR==3 {print $3}'
  
UserParameter=nginx_reading,curl -s127.0.0.1|awk 'NR==4 {print $2}'
  
UserParameter=nginx_writing,curl -s127.0.0.1|awk 'NR==4 {print $4}'
  
UserParameter=nginx_waiting,curl -s127.0.0.1|awk 'NR==4 {print $6}'
  

https://common.cnblogs.com/images/copycode.gif
  到server端m01测试取值
  

# zabbix_get -s 172.16.1.8 -p 10050 -k 'nginx_accepts'  
203
  
# zabbix_get -s 172.16.1.8 -p 10050 -k 'nginx_handled'
  
204
  

  nginx七种状态监控图
https://images2017.cnblogs.com/blog/1188655/201710/1188655-20171030171053090-512460736.png
  二、Zabbix分布式监控
  1、应用:多机房,多网段,zabbix默认只能在同一个局域网使用,zabbix proxy 专门为跨网段或跨机房设计的
  2、安装zabbix proxy

https://common.cnblogs.com/images/copycode.gif  

常规安装:  
rpm -ivh http://repo.zabbix.com/zabbix/3.0/rhel/6/x86_64/zabbix-release-3.0-1.el6.noarch.rpm
  
yum -y install zabbix-proxy-mysql
  

  
特殊方法:
  
wget https://mirrors.aliyun.com/zabbix/zabbix/3.0/rhel/6/x86_64/zabbix-proxy-mysql-3.0.9-1.el6.x86_64.rpm
  
yum -ylocalinstall zabbix-proxy-mysql-3.0.9-1.el6.x86_64.rpm
  

https://common.cnblogs.com/images/copycode.gif
  3、安装配置数据库
  zabbix proxy需要数据库存储相关的配置信息,但是不存储监控数据(只存在server上)生产环境在proxy上安装数据库,当然也可以专门找一台数据库服务器
  测试环境:借助现成的m01的mysql
  

create database zabbix_proxy character set utf8 collate utf8_bin;
  
grant all privileges on zabbix_proxy.* to zabbix@'10.0.0.%'>  

  导入proxy专用的sql文件
  

# scp /usr/share/doc/zabbix-proxy-mysql-3.0.9/schema.sql.gz 10.0.0.61:/tmp  
m01导入数据
  
zcat /tmp/schema.sql.gz |mysql -uzabbix -pzabbix -h10.0.0.61 zabbix_proxy
  

  4、配置zabbix proxy
  

sed -i.ori 's#Server=127.0.0.1#Server=10.0.0.61#;s#Hostname=Zabbix proxy#Hostname=web01#;128a DBHost=10.0.0.61\nDBPassword=zabbix' /etc/zabbix/zabbix_proxy.conf  
/etc/init.d/zabbix-proxy start
  

  web01配置 zabbix Agent
  

sed -i 's#172.16.1.61#172.16.1.8#g' /etc/zabbix/zabbix_agentd.conf  
/etc/init.d/zabbix-agent restart
  

  网页操作,将代理节点注册到zabbix server
  三、snmp监控
  

zabbix agent   客户端监控  
SNMP         简单网络管理协议
  
JMX            监控java程序
  
IPMI         硬件监控
  

  安装
  

yum -y install net-snmp net-snmp-utils  

  配置
  

sed -i.ori '57a view systemview   included.1' /etc/snmp/snmpd.conf  
/etc/init.d/snmpd start
  

  使用
  

snmpwalk -v 2c -c public 127.0.0.1 sysname  
# snmpwalk 类似 zabbix_get
  
# -v 2c指定使用snmp协议的版本snmp分为v1 v2 v3
  
# -c public指定暗号
  
# sysname类似zabbix的key
  

jinchenchiang 发表于 2018-1-19 18:41:13

图文教程
页: [1]
查看完整版本: linux运维、架构之路