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
mysql
create database zabbix_proxy character set utf8;
grant all on zabbix_proxy.* to zabbix_proxy@localhost identified by 'zabbix_proxy';<br>exit
cd /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-proxy
DBHost=localhost
DBUser=zabbix_proxy
DBPassword=zabbix_proxy

启动 systemctl start zabbix-proxy

页面创建zabbix-proxy

代理监控的汇报主机设置

vim /etc/zabbix/zabbix_agentd.conf

1
2
3
ServerActive=192.168.137.12
StartAgents=0
Hostname=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 server
StartAgents=0
Hostname=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=3
Hostname=linux-node2
HostMetadataItem=system.uname

创建自动发现规则

创建Discovery

重启systemctl restart zabbix-agent.service

Zabbix API

官方文档:https://www.zabbix.com/documentation/3.0/manual/api

学习zabbix(七)的更多相关文章

  1. C语言学习 第七次作业总结

    C语言学习 第七次作业总结 数组可以分为数组和多下标数组(在传统的国内C语言书本中,将其称为二/多维数组). 数组名称 在之前的课程中,大家应该都有印象,对于int a这样的定义,会为变量 a 声明一 ...

  2. 前端学习 第七弹: Javascript实现图片的延迟加载

    前端学习 第七弹: Javascript实现图片的延迟加载 为了实现图片进入视野范围才开始加载首先: <img    src="" x-src="/acsascas ...

  3. MyBatis学习总结(七)——Mybatis缓存(转载)

      孤傲苍狼 只为成功找方法,不为失败找借口! MyBatis学习总结(七)--Mybatis缓存 一.MyBatis缓存介绍 正如大多数持久层框架一样,MyBatis 同样提供了一级缓存和二级缓存的 ...

  4. 八、Android学习第七天——XML文件解析方法(转)

    (转自:http://wenku.baidu.com/view/af39b3164431b90d6c85c72f.html) 八.Android学习第七天——XML文件解析方法 XML文件:exten ...

  5. (转)Qt Model/View 学习笔记 (七)——Delegate类

    Qt Model/View 学习笔记 (七) Delegate  类 概念 与MVC模式不同,model/view结构没有用于与用户交互的完全独立的组件.一般来讲, view负责把数据展示 给用户,也 ...

  6. 【转】MyBatis学习总结(七)——Mybatis缓存

    [转]MyBatis学习总结(七)——Mybatis缓存 一.MyBatis缓存介绍 正如大多数持久层框架一样,MyBatis 同样提供了一级缓存和二级缓存的支持 一级缓存: 基于PerpetualC ...

  7. Learning ROS for Robotics Programming Second Edition学习笔记(七) indigo PCL xtion pro live

    中文译著已经出版,详情请参考:http://blog.csdn.net/ZhangRelay/article/category/6506865 Learning ROS forRobotics Pro ...

  8. python学习第七讲,python中的数据类型,列表,元祖,字典,之元祖使用与介绍

    目录 python学习第七讲,python中的数据类型,列表,元祖,字典,之元祖使用与介绍 一丶元祖 1.元祖简介 2.元祖变量的定义 3.元祖变量的常用操作. 4.元祖的遍历 5.元祖的应用场景 p ...

  9. Python学习第七课

    Python学习第七课 'Alex' "Alex"print('hello'*5) #重复输出字符串 print('hellowold'[2:]) #类似于切片操作:会取出 llo ...

  10. Typescript 学习笔记七:泛型

    中文网:https://www.tslang.cn/ 官网:http://www.typescriptlang.org/ 目录: Typescript 学习笔记一:介绍.安装.编译 Typescrip ...

随机推荐

  1. 【C#IO 操作】stream 字节流|字符流 |比特流

    stream的简介 Stream 所有流的抽象基类. 流是字节序列的抽象,例如文件.输入/输出设备.进程中通信管道或 TCP/IP 套接字. Stream类及其派生类提供这些不同类型的输入和输出的一般 ...

  2. 为Visual Studio 2019设置 更改皮肤

    下载主题插件:Color Themes for Visual Studio 安装插件 下载完成后 关闭vs2019 完成初始化,初始化完成后,再次打开软件进行配置. 卸载插件 点击卸载,然后关闭vs2 ...

  3. string 字符串的操作 大全类的使用

    Array.Sort(vv, string.CompareOrdinal); //ASCII排序 string[] words = { "The", "1quick&qu ...

  4. C# 使用NPOI处理Excel模板-【前面部分固定,中间是动态的几行,尾部是固定的部分】

    今天同组的兄弟问我,他有一个导出的模板,大概如下: [前面部分固定,中间是动态的几行,尾部是固定的部分].其实这个很像单链表往单链表在指定插入数据. 他问我怎么做才好,他想到的做法是:因为这些动态列的 ...

  5. Qt:QMutex

    0.说明 QMutex类提供了线程间的同步控制. QMutex的目的是,保护Object.数据结构.代码块,以便每次只有一个线程能访问它(类似Java中的synchronized关键字).不过更好的情 ...

  6. Wireshark抓包工具解析HTTPS包

    目录 一.遇到的问题 二.解决方案 1. 动态生成签名证书 2. Wireshark配置 3. 最终效果 一.遇到的问题 本学期的计算机网络课程需要使用到Wireshark抓包工具进行网络抓包实验,原 ...

  7. 软件工程homework-003

    软件工程第三次作业 博客信息 沈阳航空航天大学计算机学院2020软件工程作业 作业要求 软件工程第三次作业 课程目标 熟悉一个"高质量"软件的开发过程 作业目标 熟悉代码规范及结对 ...

  8. 解释一下什么是线程池(thread pool)?

    在面向对象编程中,创建和销毁对象是很费时间的,因为创建一个对象要获取内存资源或者其它更多资源.在Java中更是如此,虚拟机将试图跟踪每一个对象,以便能够在对象销毁后进行垃圾回收.所以提高服务程序效率的 ...

  9. ArcMap操作随记(10)

    1.基于点生成辐射线 [缓冲区]→[构造视线] 2.求算点集中于剩余点距离总和最小的点 [构造视线]→[计算几何]→[汇总] 3.关于空间参考,关于投影 ①横轴墨卡托投影 "等角横轴切圆柱投 ...

  10. mybatis——逆向工程中 where (条件1)and (条件2 or 条件3 or 条件4)

    where (条件1)and (条件2 or 条件3 or 条件4) = where (条件1 and 条件2)or (条件1 and 条件3) or (条件1 and 条件4) 结果 是这样的 WH ...