linux运维、架构之路-Zabbix监控应用及分布式
一、Zabbix监控集群应用
1、监控端口

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

2、监控进程

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

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地址来更精确的监控网站运行正常



5、监控nginx七种状态
①在nginx配置文件中加入
server {
listen 127.0.0.1:80;
stub_status on;
access_log off;
}
[root@web01 conf]# curl 127.0.0.1
Active connections: 1
server accepts handled requests
193 193 781
Reading: 0 Writing: 1 Waiting:

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

到server端m01测试取值
[root@m01 ~]# zabbix_get -s 172.16.1.8 -p 10050 -k 'nginx_accepts'
203
[root@m01 ~]# zabbix_get -s 172.16.1.8 -p 10050 -k 'nginx_handled'
nginx七种状态监控图

二、Zabbix分布式监控
1、应用:多机房,多网段,zabbix默认只能在同一个局域网使用,zabbix proxy 专门为跨网段或跨机房设计的
2、安装zabbix proxy

常规安装:
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 -y localinstall zabbix-proxy-mysql-3.0.9-1.el6.x86_64.rpm

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.%' identified by 'zabbix';
导入proxy专用的sql文件
[root@web01 ~]# 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
linux运维、架构之路-Zabbix监控应用及分布式的更多相关文章
- Linux运维不可不知的性能监控和调试工具
Linux运维不可不知的性能监控和调试工具 1 nagios Nagios是一个开源监控解决方案,我觉得他可以监控一切 ,可以看一下我以前的文章:NAGIOS 2 ps #用来查看程序的运行情况 ps ...
- linux运维架构师职业规划
1.假如你从来未接触过Linux的话,首先要做的就找一本指导书来学习.现在公认的Linux的入门书籍是“鸟哥的私房菜”,讲的很全面,鸟哥的私房菜一共分为两部,一部是基础篇,一部是服务器篇.“鸟哥的私房 ...
- linux运维、架构之路-Zabbix监控
一.监控常用命令 1.物理服务器监控命令 ①添加yum源 wget -O /etc/yum.repos.d/CentOS-Base.repo http://mirrors.aliyun.com/rep ...
- 从苦逼到牛逼,详解Linux运维工程师的打怪升级之路
做运维也快四年多了,就像游戏打怪升级,升级后知识体系和运维体系也相对变化挺大,学习了很多新的知识点. 运维工程师是从一个呆逼进化为苦逼再成长为牛逼的过程,前提在于你要能忍能干能拼,还要具有敏锐的嗅觉感 ...
- Linux 运维入门到跑路书单推荐
一.基础入门 <鸟哥的Linux私房菜基础学习篇>:最具知名度的Linux入门书<鸟哥的Linux私房菜基础学习篇>,全面而详细地介绍了Linux操作系统. https://b ...
- 运维架构服务监控Open-Falcon
一. 介绍 监控系统是整个运维环节,乃至整个产品生命周期中最重要的一环,事前及时预警发现故障,事后提供翔实的数据用于追查定位问题.监控系统作为一个成熟的运维产品,业界有很多开源的实现可供选择.当公司刚 ...
- Linux运维企业架构实战系列
Linux运维企业架构项目实战系列 项目实战1-LNMP的搭建.nginx的ssl加密.权限控制的实现 项目实战2-LVS.nginx实现负载均衡系列 2.1 项目实战2.1-实现基于LVS负载均衡集 ...
- Linux运维企业架构项目实战系列
Linux运维企业架构项目实战系列 项目实战1—LNMP的搭建.nginx的ssl加密.权限控制的实现 项目实战2—LVS.nginx实现负载均衡系列2.1 项目实战2.1—实现基于LVS负载均衡集群 ...
- Nginx+Lua+Redis整合实现高性能API接口 - 网站服务器 - LinuxTone | 运维专家网论坛 - 最棒的Linux运维与开源架构技术交流社区! - Powered by Discuz!
Nginx+Lua+Redis整合实现高性能API接口 - 网站服务器 - LinuxTone | 运维专家网论坛 - 最棒的Linux运维与开源架构技术交流社区! - Powered by Disc ...
随机推荐
- 使用spark-streaming实时读取Kafka数据统计结果存入MySQL
在这篇文章里,我们模拟了一个场景,实时分析订单数据,统计实时收益. 场景模拟 我试图覆盖工程上最为常用的一个场景: 1)首先,向Kafka里实时的写入订单数据,JSON格式,包含订单ID-订单类型-订 ...
- 1034: [ZJOI2008]泡泡堂BNB
1034: [ZJOI2008]泡泡堂BNB Time Limit: 10 Sec Memory Limit: 162 MBSubmit: 3234 Solved: 1655[Submit][St ...
- Xcode修改个性化注释
1.首先找到Xcode进入包内容 2.依次进入/Applications/Xcode.app/Contents/Developer/Platforms/iPhoneOS.platform/Develo ...
- NHibernate 慎用Session.Merge
Session.Merge其意思有两个步骤, 一般用法: Session.Merge(obj); 1. 从当前的Session中获取obj对象, 如果未获取到则从数据库获取. 2. 把程序中的obj的 ...
- HTML5 文件上传
这篇随笔主要引用https://juejin.im/post/59598ecf5188250d8d141fff,只用于自己学习,不对外宣传. FileList 对象和 file 对象 input[ty ...
- 【APP问题定位(三)】adb安装
先来剧透一下我们需要使用的工具 bin包 一个安装目录,可以免安装直接调用adb命令 Android SDK platform tools 下面依次为大家介绍,第1个和第2 ...
- 身为运维的你,怎么掌握python才不会失业
以前,我们都说Python是运维工程师的未来:现在,为什么大家都说不会Python的运维都将失业?运维必须懂开发,特别是python开发,已经形成大家的共识,不懂开发的运维,路会越走越窄. 而现在的情 ...
- java 内部类和闭包
内部类(inner class) public class Outer{ private String name; class Inner{ public String getOuterName(){ ...
- 前端设计师如何提高UI界面中的阅读性
阅读体验是ui设计中必不可少的一项,良好的设计应该都是可读的设计,如果信息都无法正常而清晰的传达,那么设计就失去了意义.设计的可读性和排版设计息息相关,这也就跟设计师的设计功底息息相关.下面简单介绍文 ...
- PHP设计模式之工厂模式
工厂模式(Factory pattern)和单例模式一样,是另外一种创建型模式. 和单例模式不同的是,单例模式会创建和管理一个单独的类型的单一对象,工厂模式则是用于创建多种不同类型的类的多个对象. 工 ...