学习zabbix(七)
zabbix自定义监控项
1、创建主机组,可以根据redis、mysql、web等创建对于的主机组

2、创建主机

3、创建Screens


4、自定义监控项
zabbix_agentd.conf配置文件定义路径

cd /etc/zabbix/zabbix_agentd.d
定义一个nginx性能监控配置文件 vim nginx.conf
|
1
2
|
# key名称,命令UserParameter=nginx.active,/usr/bin/curl -s http://192.168.137.11:8080/nginx-status |grep "Active"|awk '{print $NF}' |
重启 systemctl restart zabbix-agent
其它脚本也可以上传在此目录下,如zabbix_linux_plugin.sh
测试 zabbix_get -s 192.168.137.11 -p 10050 -k 'nginx.active'
页面创建items



创建趋势图


如何实现监控各应用
JMX:(使用Zabbix Java Gateway代理)
三种类型: 无密码认证、用户名密码认证、SSL
1)安装 yum install -y zabbix-java-gateway java-1.8.0
2)配置 vim /etc/zabbix/zabbix_java_gateway.conf
3)启动 systemctl start zabbix-java-gateway.service (查看进程和端口状态)
4)配置zabbix_server,告知zabbix-java-gateway主机地址
vim /etc/zabbix/zabbix_server.conf

启动5个进程轮询zabbix-java-gateway

6)重启zabbix_server
systemctl restart zabbix-server

监控tomcat案例

/usr/local/tomcat/bin/startup.sh 启动tomcat
如何开启tomcat JMX远程监控 http://tomcat.apache.org/tomcat-8.0-doc/monitoring.html
vim catalina.sh

|
1
2
3
4
5
|
CATALINA_OPTS="$CATALINA_OPTS -Dcom.sun.management.jmxremote -Dcom.sun.management.jmxremote.port=8888 -Dcom.sun.management.jmxremote.ssl=false -Dcom.sun.management.jmxremote.authenticate=false -Djava.rmi.server.hostname=192.168.137.12" |
重启tomcat
|
1
2
|
/usr/local/tomcat/bin/shutdown.sh/usr/local/tomcat/bin/startup.sh |
netstat -ntlp 检查端口

通过自己Windows主机C:\Program Files\Java\jdk1.8.0_101\bin的jconsole.exe连接测试

zabbix添加jmx


服务器硬件信息监控IPMI
自定义item,本地执行ipmitool命令获取数据
网络设备SNMP
1)交换机或防火墙开启SNMP服务
2)在zabbix上添加监控(设置SNMP interface)
3)关联监控模板

自定义监控脚本
创建脚本zabbix_linux_plugin.sh
设置权限chmod 777 zabbix_linux_plugin.sh
/etc/zabbix/zabbix_agentd.d目录下创建linux.conf
|
1
|
UserParameter=linux_status[*],/etc/zabbix/zabbix_agentd.d/zabbix_linux_plugin.sh "$1" "$2" "$3" |
重启 systemctl restart zabbix-agent
测试 zabbix_get -s 192.168.137.11 -k linux_status[nginx_status,8088,active]
页面创建模板

在新建的模板中创建items


在新建的模板中创建视图

模板创建完成导出内容nginx_export_templates.xml
TCP状态监控
模板TCP_export_templates.xml
导入后,在host主机加入监控模板
新建触发器
自定义告警脚本
1、存放在zabbix_server端,查看/etc/zabbix/zabbix_server.conf
短信通道可使用如:阿里大于
2、在页面添加脚本调用
修改Action
修改User
MySQL监控
使用percona监控插件监控Mysql
参考文档 https://www.percona.com/doc/percona-monitoring-plugins/LATEST/zabbix/index.html
yum仓库 https://www.percona.com/doc/percona-server/5.6/installation/yum_repo.html
此插件依赖php和php-mysql
|
1
|
yum install -y php php-mysql |
按照参考文档进行后续安装
|
1
|
yum install percona-zabbix-templates -y |
完整完成查看: rpm -ql percona-zabbix-templates

将/var/lib/zabbix/percona/templates/zabbix_agent_template_percona_mysql_server_ht_2.0.9-sver1.1.6.xml下载,通过页面导入zabbix模块
将配置文件复制到zabbix下
|
1
|
cp /var/lib/zabbix/percona/templates/userparameter_percona_mysql.conf /etc/zabbix/zabbix_agentd.d/ |
vim /var/lib/zabbix/percona/scripts/ss_get_mysql_stats.php.cnf
|
1
2
3
|
<?php$mysql_user = 'zabbix';$mysql_pass = 'zabbix'; |
测试,调用/etc/zabbix/zabbix_agentd.d/userparameter_percona_mysql.conf 中的MySQL.Connections

|
1
|
/var/lib/zabbix/percona/scripts/get_mysql_stats_wrapper.sh iz |

备注:这个mysql监控脚本会在/tmp下生成临时文件,如果刚才用root账号执行过脚本,会出现权限问题

解决方法:更改文件的属主 chown zabbix:zabbix localhost-mysql_cacti_stats.txt
WEB监控
以tomcat为例




###############################################################################
适用场景:
1、监控主机多,性能瓶颈
2、多机房,防火墙
zabbix监控模式
针对agent来说
- 被动模式
- 主动模式(主动汇报服务端)
1)当监控主机超过300台,建议使用主动模式
2)当队列中有大量延迟的item

监控项主动模式更改,如下图

监控主机修改主动模式
vim /etc/zabbix/zabbix_agentd.conf
屏蔽被动模式的Server




重启服务 systemctl restart zabbix-agent
WEB页面添加192.168.137.12主机的监控项
1)创建主动模式监控模板,将已有的模板如Template OS Linux,复制一份并将所有item的Type改成Zabbix agent (active)
2)创建监控主机


可参考http://blog.csdn.net/lamyuqingcsdn/article/details/52512603
Zabbix Proxy
流程: zabbix-server --> zabbix proxy --> zabbix agent

官方文档https://www.zabbix.com/documentation/3.0/manual/distributed_monitoring
|
1
|
yum install zabbix-proxy zabbix-proxy-mysql mariadb-server -y |
|
1
|
systemctl start mariadb |
zabbix proxy数据导入
|
1
2
3
4
5
|
mysqlcreate database zabbix_proxy character set utf8;grant all on zabbix_proxy.* to zabbix_proxy@localhost identified by 'zabbix_proxy';<br>exitcd /usr/share/doc/zabbix-proxy-mysql-3.0.5/zcat schema.sql.gz |mysql -uzabbix_proxy -pzabbix_proxy zabbix_proxy |
配置文件修改
|
1
2
3
4
5
6
|
vim /etc/zabbix/zabbix_proxy.conf Server=192.168.137.11 # zabbix server地址Hostname=zabbix-proxyDBHost=localhostDBUser=zabbix_proxyDBPassword=zabbix_proxy |
启动 systemctl start zabbix-proxy
页面创建zabbix-proxy

代理监控的汇报主机设置
vim /etc/zabbix/zabbix_agentd.conf
|
1
2
3
|
ServerActive=192.168.137.12StartAgents=0Hostname=linux-node2 |
页面设置


重启 systemctl restart zabbix-agent.service
自动化监控
1.自动注册
1.1 Zabbix agent 自动添加
2. 主动发现
2.1 自动发现Discover
2.2 zabbix api
Zabbix agent 自动添加配置
|
1
2
3
4
5
6
|
vim /etc/zabbix/zabbix_agentd.conf ServerActive=192.168.137.11 # zabbix serverStartAgents=0Hostname=linux-node2# HostMetadata= # 如果这个设置,以HostMetadata优先,HostMetadataItem不起作用HostMetadataItem=system.uname |
重启systemctl restart zabbix-agent.service
创建自动注册Action


自动注册的系统为Linux

添加主机

添加主机组

选择一个模板

自动发现方式
官方文档https://www.zabbix.com/documentation/3.0/manual/discovery/network_discovery
修改配置文件
|
1
2
3
4
5
6
|
vim /etc/zabbix/zabbix_agentd.conf Server=192.168.137.11#ServerActive=192.168.137.11 #注释StartAgents=3Hostname=linux-node2HostMetadataItem=system.uname |
创建自动发现规则


创建Discovery

重启systemctl restart zabbix-agent.service
Zabbix API
学习zabbix(七)的更多相关文章
- C语言学习 第七次作业总结
C语言学习 第七次作业总结 数组可以分为数组和多下标数组(在传统的国内C语言书本中,将其称为二/多维数组). 数组名称 在之前的课程中,大家应该都有印象,对于int a这样的定义,会为变量 a 声明一 ...
- 前端学习 第七弹: Javascript实现图片的延迟加载
前端学习 第七弹: Javascript实现图片的延迟加载 为了实现图片进入视野范围才开始加载首先: <img src="" x-src="/acsascas ...
- MyBatis学习总结(七)——Mybatis缓存(转载)
孤傲苍狼 只为成功找方法,不为失败找借口! MyBatis学习总结(七)--Mybatis缓存 一.MyBatis缓存介绍 正如大多数持久层框架一样,MyBatis 同样提供了一级缓存和二级缓存的 ...
- 八、Android学习第七天——XML文件解析方法(转)
(转自:http://wenku.baidu.com/view/af39b3164431b90d6c85c72f.html) 八.Android学习第七天——XML文件解析方法 XML文件:exten ...
- (转)Qt Model/View 学习笔记 (七)——Delegate类
Qt Model/View 学习笔记 (七) Delegate 类 概念 与MVC模式不同,model/view结构没有用于与用户交互的完全独立的组件.一般来讲, view负责把数据展示 给用户,也 ...
- 【转】MyBatis学习总结(七)——Mybatis缓存
[转]MyBatis学习总结(七)——Mybatis缓存 一.MyBatis缓存介绍 正如大多数持久层框架一样,MyBatis 同样提供了一级缓存和二级缓存的支持 一级缓存: 基于PerpetualC ...
- Learning ROS for Robotics Programming Second Edition学习笔记(七) indigo PCL xtion pro live
中文译著已经出版,详情请参考:http://blog.csdn.net/ZhangRelay/article/category/6506865 Learning ROS forRobotics Pro ...
- python学习第七讲,python中的数据类型,列表,元祖,字典,之元祖使用与介绍
目录 python学习第七讲,python中的数据类型,列表,元祖,字典,之元祖使用与介绍 一丶元祖 1.元祖简介 2.元祖变量的定义 3.元祖变量的常用操作. 4.元祖的遍历 5.元祖的应用场景 p ...
- Python学习第七课
Python学习第七课 'Alex' "Alex"print('hello'*5) #重复输出字符串 print('hellowold'[2:]) #类似于切片操作:会取出 llo ...
- Typescript 学习笔记七:泛型
中文网:https://www.tslang.cn/ 官网:http://www.typescriptlang.org/ 目录: Typescript 学习笔记一:介绍.安装.编译 Typescrip ...
随机推荐
- 【C# .Net GC】延迟模式 latencyMode 通过API-GC调优
延迟模式 lowlatency 使用环境:后台工作方式只影响第 2 代中的垃圾回收:第 0 代和第 1 代中的垃圾回收始终是非并发的,因为它们完成的速度很快.GC模式是针对进程配置的,进程运行期间不能 ...
- .NET Standard与BCL有什么区别?
Net标准主要是为了改善代码共享,并使每个.Net实现中的API更加一致. .NET Standard 是.NET 平台(.net framework\.net core\.net mono)尚未在实 ...
- 三、ES6中数组拓展
一.Array.of() 将参数中所有值作为元素形成数组: console.log(Array.of(1, 2, 3, 4)); // [1, 2, 3, 4] 参数的值可以为不同的类型: conso ...
- c/c++(c++和网络编程)日常积累(三)
asio::transfer_all() 有空研究一下这个字段 malloc和new的区别 https://blog.csdn.net/weixin_39411321/article/details/ ...
- Context包源码解析(附面经)
Context包源码解析 Context就相当于一个树状结构 最后请回答一下这个问题:context包中的方法是线程安全吗? Context包中主要有一个接口和三个结构体 Context接口 type ...
- mysql中MyISAM与InooDB存储引擎的区别
MyISAM存储引擎特点 不支持事务 表级锁定 读写相互阻塞,写入不能读,读时不能写 只缓存索引 不支持外键约束 不支持聚簇索引 读取数据较快,占用资源较少 不支持MVCC(多版本并发控制机制)高并发 ...
- 【架构】从instagram学习最小化IT是怎么做的
Keep it very simple (极简主义) Don't re-invent the wheel (不重复发明轮子) Go with proven and solid technologies ...
- layui 数据表格的使用(分页+总条数)
下载地址 https://www.layui.com/ 点击实例,找到layui适合模板 2. 新建html将代码复制到对应模板,修改对应样式路径. 5.修改对应参数(url,field) 追加以下参 ...
- egg项目eslint不识别链式操作符的解决方法
项目用到链式?.结果eslint一直提示 const permissionHandleArr = positionPermissionHandle.map(item => item.permis ...
- 软件工程homework-003
软件工程第三次作业 博客信息 沈阳航空航天大学计算机学院2020软件工程作业 作业要求 软件工程第三次作业 课程目标 熟悉一个"高质量"软件的开发过程 作业目标 熟悉代码规范及结对 ...