Zabbix监控系统深度实践(第2版)
- 格式:pptx
- 大小:4.24 MB
- 文档页数:65
Zabbix在Fintech环境中的最佳实践Zabbix在Fintech环境中的最佳实践Zabbix在Fintech环境中的最佳实践蔡翔华/ Shawn CAI• GOPS金牌讲师• Zabbix官方社区核心成员• Zabbix认证专家(Zabbix Certified Professional)• Zabbix中文手册及EXIN Devops手册官方译者• DevOps Master, ITIL, MCSE, RHCE, VCP • 8年四大及银行业IT基础架构经验• 5年ZABBIX项目运维经验•全程主导参与某金融机构统一监控平台的建设目录1Fintech的挑战2Fintech环境下的监控目标3为什么选择Zabbix?4最佳实践&案例分享Zabbix在Fintech环境中的最佳实践Zabbix在Fintech环境中的最佳实践Zabbix在Fintech环境中的最佳实践Zabbix在Fintech环境中的最佳实践每分钟宕机时间造成的损失Zabbix在Fintech环境中的最佳实践Zabbix在Fintech环境中的最佳实践每分钟宕机时间造成的损失基础架构急速扩容异构平台的兼容性底层设施的稳定性人员技术栈的深度不同团队间的协作目录1Fintech的挑战2Fintech环境下的监控目标3为什么选择Zabbix?4最佳实践&案例分享Zabbix在Fintech环境中的最佳实践Zabbix在Fintech环境中的最佳实践Zabbix在Fintech环境中的最佳实践硬件•Huawei •DELL •HP 存储•NetApp •EMC •HP 操作系统•Windows •Linux •AIX 中间件•Tomcat •Nginx •WAS 数据库•MySQL •SQL Server •Redis应用•基础架构•OA •微服务Zabbix在Fintech环境中的最佳实践日志监控安全日志系统日志应用日志操作日志性能监控内存网络带宽磁盘I/O 用户连接数目录1Fintech的挑战2Fintech环境下的监控目标3为什么选择Zabbix?4最佳实践&案例分享Zabbix在Fintech环境中的最佳实践Zabbix在Fintech环境中的最佳实践Zabbix在Fintech环境中的最佳实践目录1Fintech的挑战2Fintech环境下的监控目标3为什么选择Zabbix?4最佳实践&案例分享Zabbix在Fintech环境中的最佳实践01分布式自动化监控03告警通知02双维度管理(平台维度/业务维度)04面板展现05 06自动化带外管理持续集成/持续交付Zabbix在Fintech环境中的最佳实践Zabbix在Fintech环境中的最佳实践Zabbix在Fintech环境中的最佳实践数据库使用MHA高可用技术,使用OneProxy进行读写分离。
目录第一章zabbix安装 (3)1.1 安装环境部署 (3)1.1.1 搭建lamp环境 (3)1.1.2 测试apache (4)1.1.3 测试php (4)1.2 安装zabbix服务端 (5)1.2.1 创立zabbix需要的用户和组 (5)1.2.2 设置mysql的root密码 (5)1.2.3 编译安装zabbix server (6)1.2.4 配置php文件 (6)1.2.5将zabbix初始数据导入数据库 (6)1.2.6 配置zabbix.conf文件 (7)1.2.7 创建开机启动zabbix (7)1.2.8 复制php页面到apache中 (7)1.2.9 通过php页面安装zabbix (7)1.2.10 语言改为中文 (11)1.3 安装zabbix监控端 (12)1.3.1 编译安装zabbix-agent (12)1.3.2 配置zabbix-agentd.conf (12)1.3.3启动zabbix-agent并加入到zabbix中 (13)第二章添加自定义keys (15)1.2 加入自定义key (15)1.2.1客户端上添加自定义key的方法 (15)1.2.2 测试自定义key (15)第三章监控redis (16)3.1 导入模板 (16)3.2 客户端key配置 (17)3.3 服务端验证 (17)3.4 将模板导入主机中 (17)第四章监控nginx (18)4.1导入模板 (18)4.2 编译nginx-status (18)4.3 编写脚本来获取nginx数据 (19)4.3.1 脚本内容 (19)4.3.2 脚本解释 (20)4.3.3 zabbix-agentd中添加脚本 (20)4.4 将模板导入主机中 (21)第五章普通进程启动监控 (21)5.1 编写启动脚本 (21)5.2 添加到zabbix-agent中 (21)5.3 在zabbix-server中添加自定义模板 (22)5.4 添加触发器 (23)第六章监控tomcat (24)6.1 部署zabbix-java-gateway (24)6.1 .1编译安装jdk (24)6.1.2编译安装zabbix-java-gateway (24)6.1.3 修改zabbix-server.conf使其支持java (25)6.1.4 添加开机启动到chkconfig (25)6.2 客户端添加jmx来使zabbix- (25)6.3 测试jmx数据获取 (26)6.4 添加jmx监控方式至zabbix控制台中 (26)6.5 添加tomcat模板监控主机 (26)第七章常用的item (26)7.1 cpu (26)7.2 内存 (26)7.3 硬盘 (27)7.4 网络流量 (27)第八章制作图表 (27)8.1 制作模板的图形 (27)8.2 制作自动发现的图形 (28)第九章制作监控屏 (28)9.1创建屏幕 (28)第十章导出报表 (32)10.1 通过zabbix来判断获取报表的url (32)10.2 构建curl脚本 (33)10.3 根据日期获取unix时间戳 (33)10.4 运行方式 (36)第一章zabbix安装1.1 安装环境部署环境使用centos6.5,并且配置好网络,使其能访问外网Zabbix服务器运行环境需要linux+php+DB+Web service支持1.1.1 搭建lamp环境使用Yum安装yum install mysql-server httpd php mysql-devel gcc net-snmp-devel curl-devel perl-DBI php-gd php-mysql php-bcmath php-mbstring php-xml安装完毕后Chkconfig httpd on 开机启动httpdChkconfig mysqld on 开机启动mysqldChkconfig iptables off 开机不启动iptable关闭selinuxVim /etc/selinux/config将selinux项设定为disabled:wq保存退出,重启服务器,1.1.2 测试apache打开apache地址,出现下图,表示lamp环境搭建成功Yum安装的apache设置文件在/etc/httpd/conf里,主目录在/var/www/html里1.1.3 测试php在var/www/html里新建文件test.php,在里面输入以下内容保存后,在网页上输入http://ip/test.php出现以下页面,表示php安装成功。
监控。
本手册安装环境基于Centos8.0VM,zabbix5.2,mysql8.0的安装环境做介绍。
总体介绍Zabbix是由Alexei Vladishev开发的一种网络监视、管理系统,基于Server-Client 架构。
可用于监视各种网络服务、服务器和网络机器等状态。
使用各种Database-end如MySQL,PostgreSQL,SQLite,Oracle或IBM DB2储存资料。
Server端基于C语言、Web管理端frontend则是基于PHP所制作的。
Zabbix 可以使用多种方式监视。
可以只使用Simple Check不需要安装Client端,亦可基于SMTP或HTTP各种协定做死活监视。
在客户端如UNIX,Windows中安装Zabbix Agent之后,可监视CPU Load、网络使用状况、硬盘容量等各种状态。
而就算没有安装Agent在监视对象中,Zabbix也可以经由SNMP、TCP、ICMP、利用IPMI、SSH、telnet对目标进行监视。
另外,Zabbix包含XMPP等各种Item警示功能。
监控范围1.硬件监控:Zabbix IPMI Interface2.系统监控:Zabbix Agent Interface3.Java监控:ZabbixJMX Interface4.网络设备监控:Zabbix SNMP Interface5.应用服务监控:Zabbix Agent UserParameter6.MySQL数据库监控:percona-monitoring-pldlgins7.URL监控:Zabbix Web监控术语解释主机(host)你想要监控的联网设备,有IP/DNS。
主机组(host group)主机的逻辑组;可能包含主机和模板。
一个主机组里的主机和模板之间没有任何直接的关联。
通常在给不同用户组的主机分配权限时候使用主组。
监控项(item)你想要从主机接收的特定数据,一个度量(metrics)/指标数据。
1尚硅谷大数据技术之Zabbix第1章 Zabbix 入门1.1 Zabbix 概述Zabbix 是一款能够监控各种网络参数以及服务器健康性和完整性的软件。
Zabbix 使用灵活的通知机制,允许用户为几乎任何事件配置基于邮件的告警。
这样可以快速反馈服务器的问题。
基于已存储的数据,Zabbix 提供了出色的报告和数据可视化功能。
1.2 Zabbix 基础架构Zabbix 基础架构Zabbix-server Zabbix-agent Zabbix-agentZabbix-agent Zabbix-webZabbix agent 部署在监控的目标上,主动监测本地的资源和应用(硬件驱动,内存,处理器统计等)。
Server 收集监控数据,计算是否满足触发器条件,向用户发送通知Database 存储所有配置信息用户操作界面,监控信息展示第2章 Zabbix 安装之server 节点2.1 集群规划2.2 准备工作2.2.1 关闭防火墙(已关闭)sudo service iptables stopsudo chkconfig iptables off2.2.2 关闭SELinux1) 修改配置文件/etc/selinux/configsudo vim /etc/selinux/config# This file controls the state of SELinux on the system.# SELINUX= can take one of these three values:# enforcing - SELinux security policy is enforced.# permissive - SELinux prints warnings instead of enforcing.# disabled - No SELinux policy is loaded.SELINUX=disabled# SELINUXTYPE= can take one of these two values:# targeted - T argeted processes are protected,# mls - Multi Level Security protection.SELINUXTYPE=targeted2)重启服务器sudo reboot22.3 Zabbix-server/agent编译及安装2.3.1 创建用户sudo groupadd --system zabbixsudo useradd --system -g zabbix -d /usr/lib/zabbix -s /sbin/nologin -c "Zabbix Monitoring System" zabbix2.3.2 上传zabbix安装包并解压将安装包上传至/opt/software路径并解压到当前路径tar -zxvf zabbix-4.2.8.tar.gz2.3.3 创建zabbix数据库和表1)进入/opt/software/zabbix-4.2.8/database/mysql路径cd /opt/software/zabbix-4.2.8/database/mysql2)进入MySQL客户端执行建表语句,并导入zabbix提供的sql脚本mysql>create database zabbix default character set utf8 collate utf8_bin;use zabbix;source schema.sql;source data.sql;source images.sql;2.3.4 编译环境准备1)上传并安装安装MySQL相关rpm包sudo rpm -ivh MySQL-devel-5.6.24-1.el6.x86_64.rpmsudo rpm -ivh MySQL-embedded-5.6.24-1.el6.x86_64.rpmsudo rpm -ivh MySQL-shared-5.6.24-1.el6.x86_64.rpm3sudo rpm -ivh MySQL-shared-compat-5.6.24-1.el6.x86_64.rpm2)安装所需依赖sudo rpm -ivh :/ftp/contrib/yum-repo/rhel6/x86_64/-release-2-1.rhel6.noarch.rpmsudo yum-config-manager --enable sudo rpm -ivh :/pub/epel/6/x86_64/Packages/l/libng2-1.6.0-1.el6.1.x86_64.rpmsudo rpm -e --nodeps libxml2-python-2.7.6-21.el6.x86_64sudo yum install -y libcurl libcurl-devel libxml2 libxml2-devel net-snmp-devel libevent-devel pcre-devel gcc-c++2.3.5 编译及安装1)进入/opt/software/zabbix-4.2.8路径cd /opt/software/zabbix-4.2.82)编译安装./configure --enable-server--enable-agent --with-mysql --enable-ipv6 --with-net-snmp --with-libcurl --with-libxml2sudo make install2.3.6 修改配置文件1)修改zabbix-server配置文件4sudo vim /usr/local/etc/zabbix_server.confDBHost=hadoop102DBName=zabbixDBUser=rootDBPassword=1234562)修改zabbix-agent配置文件sudo vim /usr/local/etc/zabbix_agentd.confServer=hadoop102#ServerActive=127.0.0.1#Hostname=Zabbix server2.3.7 编写系统服务脚本1)编辑zabbix-server文件sudo vim /etc/init.d/zabbix-server2)内容如下#!/bin/sh## chkconfig: - 85 15# description: Zabbix server daemon# config: /usr/local/etc/zabbix_server.conf#### BEGIN INIT INFO5# Provides: zabbix# Required-Start: $local_fs $network# Required-Stop: $local_fs $network# Default-Start:# Default-Stop: 0 1 2 3 4 5 6# Short-Description: Start and stop Zabbix server# Description: Zabbix server### END INIT INFO# Source function library.. /etc/rc.d/init.d/functionsif [ -x /usr/local/sbin/zabbix_server ]; thenexec=/usr/local/sbin/zabbix_serverelseexit 5fiprog=zabbix_serverconf=/usr/local/etc/zabbix_server.confpidfile=/tmp/zabbix_server.pidtimeout=10if [ -f /etc/sysconfig/zabbix-server ]; then. /etc/sysconfig/zabbix-server6lockfile=/var/lock/subsys/zabbix-serverstart(){echo -n $"Starting Zabbix server: "daemon $exec -c $confrv=$?echo[ $rv -eq 0 ] && touch $lockfilereturn $rv}stop(){echo -n $"Shutting down Zabbix server: "killproc -p $pidfile -d $timeout $progrv=$?echo[ $rv -eq 0 ] && rm -f $lockfilereturn $rv}restart()7stopstart}case "$1" instart|stop|restart)$1;;force-reload)restart;;status)status -p $pidfile $prog;;try-restart|condrestart)if status $prog >/dev/null ; thenrestartfi;;reload)action $"Service ${0##*/} does not support the reload action: " /bin/falseexit 3;;8*)echo $"Usage: $0 {start|stop|status|restart|try-restart|force-reload}"exit 2;;esac3)加执行权限sudo chmod +x /etc/init.d/zabbix-server4)编辑zabbix-agent文件sudo vim /etc/init.d/zabbix-agent5)内容如下#!/bin/sh## chkconfig: - 86 14# description: Zabbix agent daemon# processname: zabbix_agentd# config: /usr/local/etc/zabbix_agentd.conf#### BEGIN INIT INFO# Provides: zabbix-agent# Required-Start: $local_fs $network# Required-Stop: $local_fs $network# Should-Start: zabbix zabbix-proxy# Should-Stop: zabbix zabbix-proxy# Default-Start:9# Default-Stop: 0 1 2 3 4 5 6# Short-Description: Start and stop Zabbix agent# Description: Zabbix agent### END INIT INFO# Source function library.. /etc/rc.d/init.d/functionsif [ -x /usr/local/sbin/zabbix_agentd ]; thenexec=/usr/local/sbin/zabbix_agentdelseexit 5fiprog=zabbix_agentdconf=/usr/local/etc/zabbix_agentd.confpidfile=/tmp/zabbix_agentd.pidtimeout=10if [ -f /etc/sysconfig/zabbix-agent ]; then. /etc/sysconfig/zabbix-agentfilockfile=/var/lock/subsys/zabbix-agent10start(){echo -n $"Starting Zabbix agent: "daemon $exec -c $confrv=$?echo[ $rv -eq 0 ] && touch $lockfilereturn $rv}stop(){echo -n $"Shutting down Zabbix agent: "killproc -p $pidfile -d $timeout $progrv=$?echo[ $rv -eq 0 ] && rm -f $lockfilereturn $rv}restart(){stopstart}11case "$1" instart|stop|restart)$1;;force-reload)restart;;status)status -p $pidfile $prog;;try-restart|condrestart)if status $prog >/dev/null ; thenrestartfi;;reload)action $"Service ${0##*/} does not support the reload action: " /bin/falseexit 3;;*)echo $"Usage: $0 {start|stop|status|restart|try-restart|force-reload}"exit 2;;12esac6)加执行权限sudo chmod +x /etc/init.d/zabbix-agent2.4 部署Zabbix-web2.4.1 部署d1)安装dsudo yum -y install d2)修改d配置文件sudo vim /etc/d/conf/d.conf将以下红色部分放至改配置文件的对应位置317 <Directory "/var/www/html">318319 #320 # Possible values for the Options directive are "None", "All",321 # or any combination of:322 # Indexes Includes FollowSymLinks SymLinksifOwnerMatch ExecCGI MultiViews323 #324 # Note that "MultiViews" must be named *explicitly* --- "Options All"325 # doesn't give it to you.326 #327 # The Options directive is both complicated and important. Please see328 # :/docs/2.2/mod/core.html#options329 # for more information.330 #331 Options Indexes FollowSymLinks332333 #334 # AllowOverride controls what directives may be placed in .htaccess files.335 # It can be "All", "None", or any combination of the keywords:13336 # Options FileInfo AuthConfig Limit337 #338 AllowOverride None339340 #341 # Controls who can get stuff from this server.342 #343 Order allow,deny344 Allow from all345<IfModule mod_php5.c>346 php_value max_execution_time 300347 php_value memory_limit 128M348php_value post_max_size 16M349 php_value upload_max_filesize 2M350php_value max_input_time 300351 php_value max_input_vars 10000352php_value always_populate_raw_post_data -1353 php_value date.timezone Asia/Shanghai354</IfModule>355356 </Directory>3)拷贝zabbix-web的php文件到d的指定目录sudo mkdir /var/www/html/zabbixsudo cp -a /opt/software/zabbix-4.2.8/frontends/php/* /var/www/html/zabbix/2.4.2 安装php5.61)安装yum源wget :/pub/epel/6/x86_64/epel-release-6-8.noarch.rpm14wget :rpms.famillecollet/enterprise/remi-release-6.rpmsudo rpm -ivh epel-release-6-8.noarch.rpm remi-release-6.rpm2)激活yum源sudo yum-config-manager --enable remi-php563)安装php及相关组件sudo yum install -y php php-bcmath php-mbstring php-xmlwriter php-xmlreader php-mcrypt php-cli php-gd php-curl php-mysql php-ldap php-zip php-fileinfo2.5 Zabbix启动2.5.1 启动Zabbix-Server1)启动sudo service zabbix-server start2)开机自启sudo chkconfig --add zabbix-serversudo chkconfig zabbix-server on2.5.2 启动Zabbix-Agent1)启动sudo service zabbix-agent start2)开机自启sudo chkconfig --add zabbix-agentsudo chkconfig zabbix-agent on152.5.3 启动Zabbix-Web(d)1)启动sudo service d start2)开机自启sudo chkconfig d on2.6 Zabbix登录1)浏览器访问:hadoop102/zabbix2)检查配置3)配置数据库16174)配置zabbix-server5)下载配置文件,并上传至指定路径6)登录,用户名:Admin ,密码zabbix第3章Zabbix安装之agent节点3.1 创建用户sudo groupadd --system zabbixsudo useradd --system -g zabbix -d /usr/lib/zabbix -s /sbin/nologin -c "Zabbix Monitoring System" zabbix3.2 编译环境准备sudo yum -y install gcc-c++ pcre-devel3.3 解压Zabbix安装包将安装包上传至/opt/software路径并解压到当前路径tar -zxvf zabbix-4.2.8.tar.gz3.4 编译及安装1)进入/opt/software/zabbix-4.2.8路径,执行以下编译安装命令./configure --enable-agentsudo make install2)修改zabbix-agent配置文件sudo vim /usr/local/etc/zabbix_agentd.conf18Server=hadoop102#ServerActive=127.0.0.1#Hostname=Zabbix server3.5 编辑系统服务脚本1)编辑zabbix-agent文件sudo vim /etc/init.d/zabbix-agent2)内容如下#!/bin/sh## chkconfig: - 86 14# description: Zabbix agent daemon# processname: zabbix_agentd# config: /usr/local/etc/zabbix_agentd.conf#### BEGIN INIT INFO# Provides: zabbix-agent# Required-Start: $local_fs $network# Required-Stop: $local_fs $network# Should-Start: zabbix zabbix-proxy# Should-Stop: zabbix zabbix-proxy# Default-Start:# Default-Stop: 0 1 2 3 4 5 619# Short-Description: Start and stop Zabbix agent# Description: Zabbix agent### END INIT INFO# Source function library.. /etc/rc.d/init.d/functionsif [ -x /usr/local/sbin/zabbix_agentd ]; thenexec=/usr/local/sbin/zabbix_agentdelseexit 5fiprog=zabbix_agentdconf=/usr/local/etc/zabbix_agentd.confpidfile=/tmp/zabbix_agentd.pidtimeout=10if [ -f /etc/sysconfig/zabbix-agent ]; then. /etc/sysconfig/zabbix-agentfilockfile=/var/lock/subsys/zabbix-agentstart()20{echo -n $"Starting Zabbix agent: "daemon $exec -c $confrv=$?echo[ $rv -eq 0 ] && touch $lockfilereturn $rv}stop(){echo -n $"Shutting down Zabbix agent: "killproc -p $pidfile -d $timeout $progrv=$?echo[ $rv -eq 0 ] && rm -f $lockfilereturn $rv}restart(){stopstart}21case "$1" instart|stop|restart)$1;;force-reload)restart;;status)status -p $pidfile $prog;;try-restart|condrestart)if status $prog >/dev/null ; thenrestartfi;;reload)action $"Service ${0##*/} does not support the reload action: " /bin/falseexit 3;;*)echo $"Usage: $0 {start|stop|status|restart|try-restart|force-reload}"exit 2;;esac223)加执行权限sudo chmod +x /etc/init.d/zabbix-agent3.6 启动Zabbix-Agent1)启动sudo service zabbix-agent start2)开机自启sudo chkconfig --add zabbix-agentsudo chkconfig zabbix-agent on第4章Zabbix使用4.1 Zabbix术语3.1.1 Host(主机)一台你想监控的网络设备,用IP或域名表示。
文章标题:深度解析和实践:探索Zabbix监控体系的真正价值一、引言在当今信息时代,监控系统被广泛应用于各行各业,而Zabbix作为一款开源的监控软件,因其稳定性和功能强大而备受青睐。
在本文中,我们将深度解析Zabbix监控体系的真正价值,并通过实践来探索其在现实生活中的应用。
二、Zabbix的基本介绍1. 什么是ZabbixZabbix是一个网络监视、管理系统,由Alexei Vladishev开发。
它可监控各种网络参数,保证服务器系统的稳定运行,适用于中小型网络环境并可通过Zabbix代理进行远程监控。
2. Zabbix的核心功能Zabbix的核心功能包括数据收集、监测、分析和报告。
它可以监控网络设备的状态、应用程序的性能和服务器资源的利用率,从而帮助管理员及时发现问题并采取相应的措施。
三、Zabbix监控体系的深度解析1. 数据收集和监控Zabbix通过各种方式收集并监控数据,包括主动监控和被动监控两种方式。
通过主动监控,Zabbix可以定期向设备发送请求以获取数据;而通过被动监控,Zabbix可以等待设备向其发送数据。
这样的双向数据接收模式保证了数据的全面性和准确性。
2. 数据分析和报告Zabbix通过内置的算法对收集到的数据进行分析,从而生成报告并提供预警。
管理员可以通过Zabbix的仪表板查看数据报表和趋势分析,帮助其更好地了解网络的运行状态和趋势,并及时作出调整。
3. 自动化运维能力Zabbix提供了自动化运维能力,可以通过触发器和动作对设备进行自动化的管理和控制。
管理员可以根据预设的规则来设定自动化的运维流程,从而减轻了工作量,加快了问题的解决速度。
四、Zabbix监控体系的实践应用1. 企业网络监控在企业网络中,Zabbix可以对服务器、数据库、网络设备等进行全面监控,实时掌握设备的状态和性能。
通过Zabbix的报告和预警功能,管理员可以及时发现问题并采取相应的措施,保证了网络的稳定和安全。
Zabbix系统接口文档(V1.0)目录Zabbix系统接口文档 ................................................................................................................... - 1 - 目录 .............................................................................................................................................. - 2 -1. 获取API版本 .......................................................................................................................... - 1 -2. 关联(3.2版本开始有)........................................................................................................ - 1 -2.1. correlation.create ........................................................................................................... - 1 -2.2. correlation.delete ........................................................................................................... - 4 -2.3. correlation.get ................................................................................................................ - 5 -2.4. correlation.update ......................................................................................................... - 6 -3. 监控项 ..................................................................................................................................... - 8 -3.1. item.create ..................................................................................................................... - 8 -3.2. item.delete ................................................................................................................... - 10 -3.3. item.get ........................................................................................................................ - 10 -3.4. item.update .................................................................................................................. - 16 -3.5. item.isreadable ............................................................................................................. - 17 -3.6. item.iswritable ............................................................................................................. - 18 -4. 主机 ....................................................................................................................................... - 18 -4.1. host.create ................................................................................................................... - 18 -4.2. host.delete ................................................................................................................... - 20 -4.3. host.get ........................................................................................................................ - 21 -4.4. host.update .................................................................................................................. - 28 -4.5. host.massadd ............................................................................................................... - 31 -4.6. host.massremove ......................................................................................................... - 32 -4.7. host.massupdate .......................................................................................................... - 33 -4.8. host.isreadable ............................................................................................................. - 34 -4.9. host.iswritable .............................................................................................................. - 34 -5. 主机组 ................................................................................................................................... - 35 -5.1. hostgroup.create .......................................................................................................... - 35 -5.2. hostgroup.delete .......................................................................................................... - 36 -5.3. hostgroup.get ............................................................................................................... - 37 -5.4. hostgroup.update ......................................................................................................... - 38 -5.5. hostgroup.massadd ...................................................................................................... - 39 -5.6. hostgroup.massremove ................................................................................................ - 40 -5.7. hostgroup.massupdate ................................................................................................ - 41 -5.8. hostgroup.isreadable ................................................................................................... - 42 -5.9. hostgroup.iswritable .................................................................................................... - 42 -6. Web场景 ................................................................................................................................ - 43 -6.1. httptest.create .............................................................................................................. - 43 -6.2. httptest.delete.............................................................................................................. - 44 -6.3. httptest.get ................................................................................................................... - 45 -6.4. httptest.update ............................................................................................................ - 48 -6.5. httptest.isreadable ....................................................................................................... - 49 -6.6. httptest.iswritable ........................................................................................................ - 49 -7. 模板 ....................................................................................................................................... - 50 -7.1. template.create ............................................................................................................ - 50 -7.2. template.delete ............................................................................................................ - 51 -7.3. template.get ................................................................................................................. - 52 -7.4. template.update........................................................................................................... - 55 -7.5. template.massadd ........................................................................................................ - 55 -7.6. template.massremove ................................................................................................. - 57 -7.7. template.massupdate .................................................................................................. - 59 -7.8. template.isreadable ..................................................................................................... - 60 -7.9. template.iswritable ...................................................................................................... - 60 -8. 发现主机................................................................................................................................ - 61 -8.1. dhost.get ...................................................................................................................... - 61 -9. 发现服务................................................................................................................................ - 65 -9.1. dservice.get .................................................................................................................. - 65 -10. 发现检查 ............................................................................................................................. - 66 -10.1. dcheck.get .................................................................................................................. - 66 -11. 发现规则 ............................................................................................................................. - 68 -11.1. drule.create ................................................................................................................ - 68 -11.2. drule.delete ................................................................................................................ - 69 -11.3. drule.get ..................................................................................................................... - 70 -11.4. drule.update ............................................................................................................... - 72 -11.5. drule.isreadable ......................................................................................................... - 73 -11.6. drule.iswritable .......................................................................................................... - 74 -12. 应用集 ................................................................................................................................. - 74 -12.1. application.create ....................................................................................................... - 74 -12.2. application.delete ...................................................................................................... - 75 -12.3. application.get ........................................................................................................... - 76 -12.4. application.update ..................................................................................................... - 77 -12.5. application.massadd .................................................................................................. - 78 -13. 触发器 ................................................................................................................................. - 79 -13.1. trigger.create .............................................................................................................. - 79 -13.2. trigger.delete .............................................................................................................. - 80 -13.3. trigger.get ................................................................................................................... - 81 -13.4. trigger.update ............................................................................................................. - 85 -13.5. trigger.adddependencies ............................................................................................ - 85 -13.6. trigger.deletedependencies........................................................................................ - 86 -13.7. trigger.isreadable ........................................................................................................ - 87 -13.8. trigger.iswritable ........................................................................................................ - 88 -14. 图像 ..................................................................................................................................... - 89 -14.1. image.create ............................................................................................................... - 89 -14.2. image.delete .............................................................................................................. - 90 -14.3. image.get.................................................................................................................... - 91 -14.4. image.update ............................................................................................................. - 92 -15. 聚合图形项目...................................................................................................................... - 93 -15.1. screenitem.create ...................................................................................................... - 93 -15.2. screenitem.delete ...................................................................................................... - 95 -15.3. screenitem.get ........................................................................................................... - 95 -15.4. screenitem.update ................................................................................................... - 100 -15.5. screenitem.updatebyposition .................................................................................. - 100 -15.6. screenitem.isreadable .............................................................................................. - 101 -15.7. screenitem.iswritable ............................................................................................... - 102 -16. 聚合图形 ........................................................................................................................... - 103 -16.1. screen.create ............................................................................................................ - 103 -16.2. screen.delete ............................................................................................................ - 105 -16.3. screen.get ................................................................................................................. - 106 -16.4. screen.update .......................................................................................................... - 108 -17. 图形项................................................................................................................................ - 110 -17.1. graphitem.get ........................................................................................................... - 110 -18. 图形 ................................................................................................................................... - 112 -18.1. graph.create ............................................................................................................. - 112 -18.2. graph.delete ............................................................................................................. - 113 -18.3. graph.get .................................................................................................................. - 114 -18.4. graph.update ............................................................................................................ - 117 -19. 原型图 ............................................................................................................................... - 118 -19.1. graphprototype.create ............................................................................................. - 118 -19.2. graphprototype.delete ............................................................................................. - 119 -19.3. graphprototype.get .................................................................................................. - 120 -19.4. graphprototype.update ............................................................................................ - 122 -20. 模板聚合图形项................................................................................................................ - 122 -20.1. templatescreenitem.get ........................................................................................... - 122 -21. 模板聚合图形.................................................................................................................... - 125 -21.1. templatescreen.create ............................................................................................. - 125 -21.2. templatescreen.delete ............................................................................................. - 126 -21.3. templatescreen.get .................................................................................................. - 127 -21.4. templatescreen.update ............................................................................................ - 130 -21.5. templatescreen.copy ................................................................................................ - 130 -21.6. templatescreen.isreadable ....................................................................................... - 131 -21.7. templatescreen.iswritable ........................................................................................ - 132 -22. 历史数据 ........................................................................................................................... - 132 -22.1. history.get ................................................................................................................ - 132 -23. 用户 ................................................................................................................................... - 135 -23.1. user.create ................................................................................................................ - 135 -23.2. user.delete ................................................................................................................ - 136 -23.3. user.get ..................................................................................................................... - 137 -23.4. user.update............................................................................................................... - 139 -23.5. user.updateprofile .................................................................................................... - 140 -23.6. user.addmedia .......................................................................................................... - 140 -23.8. user.updatemedia .................................................................................................... - 142 -23.9. user.login .................................................................................................................. - 143 -23.10. user.logout.............................................................................................................. - 145 -23.11. user.isreadable ....................................................................................................... - 146 -23.12. user.iswritable ........................................................................................................ - 146 -24. 用户组 ............................................................................................................................... - 147 -24.1. usergroup.create ...................................................................................................... - 147 -24.2. usergroup.delete ...................................................................................................... - 148 -24.3. usergroup.get ........................................................................................................... - 149 -24.4. usergroup.update ..................................................................................................... - 151 -24.5. usergroup.massadd .................................................................................................. - 152 -24.6. usergroup.massupdate............................................................................................. - 153 -24.7. usergroup.isreadable................................................................................................ - 154 -24.8. usergroup.iswritable ................................................................................................ - 154 -25. 用户宏 ............................................................................................................................... - 155 -25.1. usermacro.create ..................................................................................................... - 155 -25.2. usermacro.delete ..................................................................................................... - 156 -25.3. usermacro.get .......................................................................................................... - 157 -25.4. usermacro.update .................................................................................................... - 158 -25.5. usermacro.createglobal ........................................................................................... - 159 -25.6. usermacro.deleteglobal ........................................................................................... - 160 -25.7. usermacro.updateglobal .......................................................................................... - 161 -26. 主机接口............................................................................................................................ - 161 -26.1. hostinterface.create ................................................................................................. - 161 -26.2. hostinterface.delete ................................................................................................. - 163 -26.3. hostinterface.get ...................................................................................................... - 163 -26.4. hostinterface.update ................................................................................................ - 165 -26.5. hostinterface.massadd ............................................................................................. - 166 -26.6. hostinterface.massremove ....................................................................................... - 167 -26.7. hostinterface.replacehostinterfaces ........................................................................ - 168 -27. 主机原型............................................................................................................................ - 169 -27.1. hostprototype.create ............................................................................................... - 169 -27.2. hostprototype.delete ............................................................................................... - 170 -27.3. hostprototype.get .................................................................................................... - 171 -27.4. hostprototype.update .............................................................................................. - 173 -27.5. hostprototype.isreadable ......................................................................................... - 173 -27.6. hostprototype.iswritable .......................................................................................... - 174 -28. LLD规则(待写。
搭建ZABBIX4.0服务安装部署及监控配置ZABBIX官⽅⽹站:企业级监控解决⽅案zabbix 是⼀个基于 WEB 界⾯的提供分布式系统监视以及⽹络监视功能的企业级的开源解决⽅案zabbix 能监视各种⽹络参数,保证服务器系统的安全运营;并提供灵活的通知机制以让系统管理员快速定位解决存在的各种问题。
Zabbix 主要特点安装与配置简单,学习成本低⽀持多语⾔(包括中⽂)免费开源⾃动发现服务器与⽹络设备分布式监视以及 WEB 集中管理功能可以⽆ agent 监视⽤户安全认证和柔软的授权⽅式通过 WEB 界⾯设置或查看监视结果 email 等通知功能Zabbix主要功能监控CPU负载、内存使⽤、磁盘使⽤、⽹络状态、端⼝监视、⽇志监视、插件开发⾃定义Zabbix运⾏机制Zabbix Server 和 Zabbix agentZabbix Server 可以通过 SNMP,Zabbix agent,Ping,端⼝监视等你⽅法提供对远程服务器/⽹络状态的监视,数据收集功能,可以在运⾏ Linux,Solaris,HP-UX,AIX,FreeBSD,OpenBSD,OX X,Windows 多平台。
Zabbix Agent 安装在需要被监控的⽬标服务器上,主要完成对硬件信息与操作系统有关的内存,CPU 等你信息收集。
Zabbix Server 可以单独监视远程服务器的服务状态,同时也可以与 Zabbix Agent 结合。
可以轮询 Zabbix Agent 主动接收监视数据(trapping 传递⽅式),同时还可以被动接收 Zabbix Agent 发送的数据。
Zabbix运⾏过程图Zabbix ⽀持多种⽹络⽅式下的监控,可以通过分布式的部署和安装监控代理 Zabbix,通过 C/S 模式采集数据,通过 B/S 模式在 Web 端展⽰和配置!Agent 监控端⼝10050服务端安装 Zabbix Server 和 Zabbix Agent 两个服务,客户端只安装 Zabbix Agent ⼀个服务,监控原理就是 Zabbix Agent 服务将从系统中获取的相关数据传送给Zabbix Server,然后 Zabbix Server 服务奖数据分析之后以 PHP 页⾯展⽰出来!服务器信息:操作系统主机名IP地址节点⾓⾊CPU MemoryCentos7.5xiaoliu10192.168.0.10zabbix-server24G⼀、server端环境配置1-1、LAMP以及基本环境安装直接采⽤yum的⽅式进⾏安装yum -y install httpd php mariadb-server mysql-devel php-gd gcc php-mysql php-xml libcurl-devel curl-* net-snmp* libxml2-* php-mbstring php-bcmath ntp libevent-devel php-ldap vim net-tools wget unzip 1.2关闭 Selinux 和防⽕墙systemctl stop firewalld && systemctl disable firewalld && systemctl status firewalldvim /etc/selinux/configSELINUX=disabledreboot #如果原来的系统开着 selinux,那么需要重启,才能关闭 selinux1.3同步时间yum install ntp -y && systemctl enable ntpd.service && systemctl start ntpd.service1.4配置MySQL数据库启动mysql服务并设置开机启动systemctl start mariadbsystemctl enable mariadb初始化mysql数据库mysql_secure_installation #根据提⽰设置数据库密码登陆数据库mysql -uroot -p查看数据库编码show variables like 'character_set_%';创建zabbix使⽤数据库create database zabbix;grant all on zabbix.* to zabbix@localhost identified by 'zabbix123';flush privileges;以上命令建⽴了名为zabbix的数据库,并建⽴了zabbix⽤户,设置⽤户密码为zabbix123,并授权访问zabbix数据库且只允许本机连接改数据库2源码安装zabbix2.1编译安装zabbix下载zabbix源码cd /tmp/ #临时⽬录wget https:///projects/zabbix/files/ZABBIX%20Latest%20Stable/4.0.2/zabbix-4.0.2.tar.gz解压tar zxvf zabbix-4.0.2.tar.gz && cd zabbix-4.0.2安装./configure --prefix=/usr/local/zabbix --enable-server --enable-agent --with-mysql --with-net-snmp --with-libcurl --with-libxml2make install创建zabbix系统⽤户groupadd zabbixuseradd -s /sbin/nologin -g zabbix zabbix导⼊数据库,注意顺序,否则会报错mysql -uroot -p123456 zabbix</tmp/zabbix-4.0.2/database/mysql/schema.sql #⽤户密码mysql -uroot -p123456 zabbix</tmp/zabbix-4.0.2/database/mysql/images.sql #⽤户密码mysql -uroot -p123456 zabbix</tmp/zabbix-4.0.2/database/mysql/data.sql #⽤户密码2.2安装Zabbix WEBapache是⽤yum安装默认的web⽬录为/var/www/html,拷贝zabbix web的⽂件到这个⽬录cd /var/www/html/cp -R /tmp/zabbix-4.0.2/frontends/php/* .chown -R apache:apache /var/www/html/调整参数php参数,编辑php.ini⽂件vim /etc/php.ini384 max_execution_time = 300394 max_input_time = 300672 post_max_size = 16M878 date.timezone = Asia/Shanghai1315: bcmath.scale = 1启动http服务器,并设置开机启动systemctl start httpdsystemctl enable httpd打开浏览器直接访问zabbix server的IP地址 192.168.0.10,即可看到zabbix web安装页⾯点击Next step(检查⼀下,看看都OK的,确认没有问题 ps:有问题去根据问题参数去修改php.ini)直接Next step这⾥是设置数据库连接信息,数据库为zabbix,数据库⽤户为zabbix,密码为zabbix123(之前设置的),填好之后直接Next step直接Next step确认信息⽆误,直接Next step创建配置⽂件成功,zabbix web安装成功,点Finish。
zabbix从入门到精通之—zabbix初体验进入新公司将近2个月以来,公司领导分配我一个最重要的任务就是给我们的客户做一套监控系统,而且要求最好是开源的。
就我目前所知道的监控软件,主要有如下几个,cacti,nagios,zenoss,zabbix,其中cacti和nagios以前我就听说过,zenoss多少也有耳闻,zabbix就几乎一点也不清楚了,在网上输入zabbix关键字的时候发现搜索出来的中文资料相比其它的一些开源软件,可谓是大海捞针,凤毛麟角,而且大部分都是英文资料,对于我这种英文能力极其差的人也只是望洋兴叹了,但是任务在身也实在没办法。
我琐碎直接把官网里推荐一本电子书籍《zabbix 1.8 network monitoring》直接给打印了出来,以表达我誓于英文死扛到底的决心。
而今天我给大家讲的内容是通过对zabbix的一次简单的配置以便大家对zabbix有一次直观的了解。
首先什么是zabbix:zabbix是一个基于WEB界面的提供分布式系统监视以及网络监视功能的企业级的开源解决方案。
Zabbix相比其他监控软件有如下优点:-安装与配置简单,学习成本低- 支持多语言(包括中文,系统自带不需要额外安装插件)- 自动发现服务器与网络设备- 分布式监视以及WEB集中管理功能 (这一点相比其他监控软件有明显优势)- 用户安全认证和柔软的授权方式(如ldap认证)- 通过WEB界面设置或查看监视结果(图像化配置)- email等通知功能()关于zabbix的安装我们将通过单独的小结讲,下面的展示主要是为了方便大家对zabbix有一次直观的认识。
下图所示:zabbix主要有5个主菜单栏:Moniting,Inventory,reports,configuration,Adminstration每个主菜单栏下面又多个二级菜单.Moniting:主要是对监控对象的一些相关展示,比如说对web应用的展示。
结合Zabbix与Ansible打造自动化数据库监控体系目录一、前言 (3)二、Zabbix自动化核心功能介绍 (3)三、监控自动化 (9)四、数据库监控项目 (14)五、总结 (24)一、前言随着业务的飞速发展,数据库服务器量级飞速增长,比如Oracle、MySQL、Redis、MongoDB 的使用更加普及,对数据库运维人员的要求也越来越高,构建一个真正好用的监控系统是一项艰巨的任务。
在监控系统的开源软件中,可供选择的工具众多,然而真正适合自己需求、能够真正解决自己数据库问题的监控系统软件却凤毛麟角。
Zabbix和Ansible分别是两款非常流行的开源监控和自动化工具。
具有上手简单,学习曲线平滑、配置简单、功能强大、扩展性强等优点。
本次将分享如何使用Zabbix并结合Ansible打造自动化数据库监控体系。
二、Zabbix自动化核心功能介绍Zabbix是企业级监控解决方案,和自动化相关的核心功能包括:LLD、API、Zabbix_trapper。
1、LLD在数据库监控中监控的对象往往是变化的,以部署Redis来说:近几年硬件发展迅速,在企业中新购的X86服务器配置基本都在32C、256GB以上,大家都知道Redis是用“单线程-多路复用IO模型”来实现高性能的内存数据服务,只能用到一个CPU核心,内存配置一般也在8G-16G左右,为了提高资源利用率,一般会选择在一台服务器上部署多个实例。
当需要监控的内容比较多的时候,此时每次添加一批实例都去手动部署监控、配置告警的话就会造成大量人力的消耗。
此时通过LLD能自动发现并自动发现添加新部署实例的监控项,包括Item、Trigger这些的自动添加,做到一次部署永久受益,提高数据库监控人员的幸福值。
LLD的核心思路是给服务端发送一个JSON的数据格式,下面以Redis Standalone类型实例为例说明。
首先模板中添加discovey rules增加一个trapper类型:∙然后增加宏{#REDISPORT}:∙当关联好Redis的模板后,使用zabbix_sender发送给如下的数据:{"data":[{"{#REDIS_PORT}":6379}]}就完成了Redis的监控添加,其中一项Item示例如下:2、APIAPI是Zabbix中非常强大的功能,通过调用API可以将Zabbix和其他系统串联到一起,在自动化运维环境中非常有用。
Zabbix 源码解析之监控项数据采集流程一、概述监控项数据采集是一个监控工具最基本的功能,监控数据采集的准确、实时、有效是Zabbix其它监控功能正常运转的前提。
因此,Zabbix运维人员有必要了解监控项数据采集流程,并有针对性的设计巡检和问题处理流程,确保监控数据质量。
Zabbix 的监控采集类型很丰富,我最常用的是Agent方式,因此,就挑选Linux的内存监控(Zabbix内置key:vm.memory.size)为例来梳理一下监控项数据采集流程。
二、程序流程图下图是我们梳理的vm.memory.size监控项采集流程图,数据采集的过程设计得缜密而复杂:下面,我们将对主要流程和具体实现进行解析,涉及函数的具体实现解析写在了代码注释中。
三、相关数据结构定义在介绍vm.memory.size具体实现之前,我们先介绍几个相关数据结构的定义。
(1)struct ZBXMETRIC该结构体用于记录zabbix的监控项配置信息(2) struct AGENTREQUEST该结构体用于记录zabbix Agent的监控项请求信息(3) struct AGENTRESULT该结构体用于记录给zabbix Agent返回的采集数据四、监控项vm.memory.size配置用法: vm.memory.size[]mode参数:•total (*) - 总物理内存. mode的默认值•free (*) - 可用内存.•active - 内存当前使用或最近使用,它在RAM中是活跃的。
•inactive - 未使用内存.•wired - 被标记为始终驻留在RAM中的内存,不会移动到磁盘。
•pinned - 同“wired”。
•anon - 与文件无关的内存(不能重新读取)。
•exec - 可执行代码,通常来自于一个(程序)文件。
•file - 缓存最近访问文件的目录。
•buffers (*) - 缓存磁盘读写数据。
【精编推荐】Zabbix深入分析Zabbix深入分析2015目录1研究目标 (9)2系统架构 (10)2.1 Server (11)2.2 数据库存储(Database storage) (11)2.3 WEB 界面 (11)2.4 Proxy (11)2.5 Agent (12)2.6 Get (13)2.7 Sender (13)2.8 工作机制 (13)3WEB界面菜单功能 (14)4主要功能名词及概念 (15)4.1.1SNMP (15)4.1.2IPMP (15)4.1.3配置(configuration) (15)4.1.4主机和主机组(Hosts and host group) (15)4.1.5模板(Templates) (16)4.1.6监控项(Items) (16)4.1.7网站监控(WEB) (16)4.1.8触发器(Triggers) (17)4.1.9宏(Macro) (17)4.1.10事件(Events) (18)4.1.11图形(Grahps) (18)4.1.12Screen (19)4.1.13报表(Reports) (19)4.1.14IT 服务(IT services) (19)4.1.15发现(Discovery) (19)4.1.16队列(Queue) (20)4.1.17应用(Applications) (20)4.1.18分布式监控(Distributed monitoring) (21)4.1.19维护(Maintenance) (21)5监控项类型(Item Type) (21)5.1Zabbix客户端代理(Zabbix Agent) (21)5.2SNMP代理(SNMP Agent) (37)5.3SNMP被动方式(SNMP Trap) (37)5.4IPMI检测 (37)5.5简单检测 (37)5.6日志文件监控 (38)5.7计算监控 (38)5.8内部检查 (38)5.9SSH检查 (43)5.10Telnet检查 (43)5.11外部检查 (43)5.12汇总检查 (43)5.13被动监控 (43)5.14JMX监控 (43)6触发器(Triggers) (44)6.1概述 (44)6.2配置触发器 (44)6.3触发器表达式(Expression) (44)6.3.1 Function (45)6.3.2 Function parameter (48)6.3.3 运算符 (49)6.3.4 触发器举例 (49)6.3.5 滞留状态 (51)6.4 触发器依赖性(Dependency) (51)6.5 触发器严重性(Severity) (52)6.6 触发器的单位符号(Unit symbols) (52)6.6.1 单位后缀 (53)6.6.2 使用举例 (53)7报警及其策略 (53)7.1概述 (53)7.2报警流程 (54)7.3报警媒介(Media type) (54)7.4报警动作(Action) (55)7.4.1Action(基本属性) (55)7.4.2Conditions(条件) (55)7.4.3Operations(操作) (55)7.5报警升级(Esacalations) (57)8Quickstart (58)9数据模型 (60)10Zabbix API (60)10.1.1 API使用说明 (60)10.1.2Zabbix API支持的数据类型 (60)10.1.3“get”方法支持的通用参数 (61)10.2监控 (62)10.2.1History (62)10.2.2Events (63)10.2.3Service monitoring (63)10.3配置 (63)10.3.1Hosts and host groups (63)10.3.2Items and applications (64)10.3.3Triggers (65)10.3.4Grahps (65)10.3.5Templates (65)10.3.6Export and import (66)10.3.7Low-level discovery (66)10.3.8Screens (67)10.3.9Actions and alerts (67)10.3.10IT services (68)10.3.11Maps (68)10.3.12Web monitoring (68)10.3.13Network discovery (69)10.4管理 (69)10.4.1Users (69)10.4.2General (70)10.4.3Proxies (71)10.4.4Scripts (71)10.5API信息 (71)10.6API引用的对象(Object)的属性 (71)10.6.1History object (71)11图表套件-FusionChats (73)11.1概述 (73)11.2套件 (74)11.2.1FusionChartsXT (74)11.2.2FusionWidgetsXT (80)11.2.3PowerChartsXT (84)11.2.4FusionMapsXT (89)11.3开发(PHP) (89)12调研总结 (90)12.1Zabbix 可监控的基本模块 (90)12.2Zabbix API (91)12.3Zabbix 图表 (91)12.3.1外部查看图表可行性 (91)12.3.2利用FusionCharts 展现 (91)12.4报警策略的可定制性 (91)12.5与Zabbix用户会话同步策略 (93)12.5.1统一用户 (93)12.5.2动态登录 (93)13系统的集成 (93)13.1方案 (93)13.1.1方案一:内建模块 (94)13.1.2方案二:iframe嵌入 (94)13.1.3方案三:图表接口 (94)13.2方案总结 (95)1研究目标通过对ZABBIX的研究实现如下目标:➢熟悉可监控的基本模块➢研究API,并且要写代码测试到监控任务的API控制,包括创建,暂停,更改选项,删除任务。
Zabbix运维监控平台解决方案Zabbix运维监控解决方案目录1、背景公司内使用的Tivoli监控工具,曾经不准备采办服务,后续产生问题将会带来法令风险和运维风险,准备交换掉Tivoli 监控工具,且Tivoli没有对所有组件进行监控。
对全网IT装备缺乏周全地办理办法。
Zabbix是一个企业级的开源漫衍式监控办理方案,它是一个基于WEB界面的提供漫衍式系统监督和收集监督功用的企业级的开源办理方案。
zabbix具有常见的贸易监控软件所具有的功用(主机的机能监控、收集装备机能监控、数据库机能监控、FTP等通用协议监控、多种告警方式、详细的报表图表绘制)支持自动发现收集装备和服务器;支持漫衍式,能集中展现、管理漫衍式的监控点;扩大性强,server提供通用接口,可以自己开发完善各类监控。
zabbixserver可以通过SNMP,zabbixagent,ping,端口监视等方法提供对远程服务器/网络状态的监视,数据收集等功能,它可以运行在Linux,Solaris,HP-UX,AIX,Free BSD,Open BSD,OS X等平台上。
二、方针物理范围:组件:硬件,OS,存储,中间件,数据库,机房,收集等维度:可用性,性能。
目标:见下。
监控的基本内容机能数据根本CPU,磁盘,收集,内存等干系系统正常运转的根本目标。
端口状况一般交流机或收集装备,端口启动状况,流量大小,收集状况日志内容日志内容监控,系统日志,应用程序日志,错误信息。
系统状态DB,OS,中间件等的系统状态硬件状态硬盘状态,风扇,电池,内存,主板等系统状态机房状态UPS,机柜电功率,机房电功率,机房温度,湿度,空气质量,漏水,消防,人员出入,机房门状态,机柜门状态,红外线,图像,防盗等使用状况步伐启动时间,网站拜候速度等。
三、采用的软件软件称号:ZABBIX 2.0.6四、软件的特点zabbix是一个基于WEB界面的提供分布式系统监视以及网络监视功能的企业级的开源解决方案。
Zabbix深入分析2015 目录1研究目标42系统架构42.1Server42.2数据库存储〔Database storage〕52.3WEB 界面52.4Proxy52.5Agent52.6Get62.7Sender62.8工作机制63WEB界面菜单功能74主要功能名词与概念8SNMP8IPMP8配置〔configuration〕8主机和主机组〔Hosts and host group〕8模板〔Templates〕9监控项〔Items〕9监控〔WEB〕9触发器〔Triggers〕9宏〔Macro〕10事件〔Events〕10图形〔Grahps〕11Screen11报表〔Reports〕12IT 服务〔ITs〕12发现〔Discovery〕12队列〔Queue〕13应用〔Applications〕13分布式监控〔Distributed monitoring〕13维护<Maintenance>135监控项类型〔Item Type〕145.1Zabbix客户端代理〔Zabbix Agent>145.2SNMP代理〔SNMP Agent〕265.3SNMP被动方式〔SNMP Trap〕275.4IPMI检测275.5简单检测275.6日志文件监控275.7计算监控275.8部检查275.9SSH检查315.10Telnet检查325.11外部检查325.12汇总检查325.13被动监控325.14JMX监控325.15ODBC监控326触发器〔Triggers〕336.1概述336.2配置触发器336.3触发器表达式〔Expression〕33Function33Function parameter37运算符37触发器举例38滞留状态396.4触发器依赖性〔Dependency〕406.5触发器严重性〔Severity〕406.6触发器的单位符号〔Unit symbols〕41单位后缀41使用举例417报警与其策略427.1概述427.2报警流程427.3报警媒介〔Media type〕427.4报警动作〔Action〕43Action〔基本属性〕43Conditions〔条件〕43Operations〔操作〕437.5报警升级〔Esacalations〕458Quickstart469数据模型4610Zabbix API4610.1概览46API使用说明46Zabbix API支持的数据类型47"get"方法支持的通用参数4710.2监控48History48Events48Service monitoring4810.3配置49Hosts and host groups49Items and applications50Triggers50Grahps51Templates51Export and import51Low-level discovery51Screens52Actions and alerts53ITs53Maps53Web monitoring54Network discovery5410.4管理54Users54General55Proxies56Scripts5610.5API信息5610.6API引用的对象〔Object〕的属性57History object5711图表套件-FusionChats5811.1概述5811.2套件59FusionChartsXT59FusionWidgetsXT61PowerChartsXT62FusionMapsXT6311.3开发〔PHP〕6412调研总结6412.1Zabbix 可监控的基本模块6412.2Zabbix API6512.3Zabbix 图表65外部查看图表可行性65利用FusionCharts 展现6512.4报警策略的可定制性6512.5与Zabbix用户会话同步策略67统一用户67动态登录6713系统的集成6713.1方案67方案一:建模块67方案二:iframe嵌入67方案三:图表接口6813.2方案总结681研究目标通过对ZABBIX的研究实现如下目标:➢熟悉可监控的基本模块➢研究API,并且要写代码测试到监控任务的API控制,包括创建,暂停,更改选项,删除任务。
Zabbix 如何获取并监控 Linux 系统的进程最近需要监控运行在业务系统上的进程,要求是看到具体的进程名。
通常监控进程一般可以使用内置的键值,也就是 proc.num[进程名,root,,]这个键值,但只能返回的是进程的数量,虽然效果上也能实现,但和预期的结果有些区别,而且也不直观,尤其在同一个进程数多的时候。
下面说下获取具体进程名的方法!1、 agent端开启远程命令需要注意5.0版本及最新的agent和旧版本的配置是有写区别的。
5.0版本的zabbix_agentd.conf以下的参数是:EnabledRemoteCommand=15.0版本的zabbix_agentd.conf的参数是:AllowKey=system.run保存后,重启agent。
2、获取进程名总的来说,获取进程名还是用命令,这里介绍一下我的方法:一、先在agent端上面用ps -ef| grep 看下进程,然后调整一下,只输出进程名;调整前调整后但还会有一个 grep XXX 的存在,也需要去掉,方法就是反向过滤即可,参考命令:ps -ef|grep 进程名 | grep -v grep | awk ‘{print $10}’二、创建进程模板,先创建宏,把输出进程名的命令复制过来,然后创建监控项,使用system.run[宏]键值,最后关联主机效果三、触发器5分钟没有找到字符触发。
因为进程比较多,这里是采用创建模板的方式;另外也可以在agent的配置文件自定义键值,例如 UserParameter=agent, ps-ef|grep zabbix_agentd | grep -v grep | awk‘{print $NF}’,然后就创建监控项,键值写 agent就行。
还有一种写脚本方式,也是执行ps -ef|grep 命令。
zabbix企业级实践第2课法律声明【声明】本视频和幻灯片为炼数成金网络课程的教学资料,所有资料只能在课程内使用,不得在课程以外范围散播,违者将可能被追究法律和经济责任。
课程详情访问炼数成金培训网站大纲Zabbix数据表结构整体介绍添加监控表结构详解数据存储表结构详解报警相关表结构详解Zabbix 部分数据表介绍表名描述actions actions 表记录了当触发器触发时,需要采用的动作。
alerts alerts 表保存了历史的告警事件Functions function 表时非常重要的一个表了,记录了trigger 中使用的表达式,例如max 、min 、last 、nodata 等函数。
history 、history_str 、history_log 、history_uint 这部分表都差不多,唯一不同的是保存的数据类型,history_str 保存的数据类型就算str 即字符类型的。
这个是和采集时设置的数据类型一致的。
需要注意的时,因为history 表有这么多的类型,那自己写报表系统等去查询数据时,就需要判断下数据的采集类型,如果查错了表,那肯定时没有数据的。
trends 、trends_uint trends 也是保存了历史数据用的,和history 不同的时,trends 表仅仅保存了小时平均, 最小,最大的值,即你可以理解为是history 表的趋势表或者压缩表。
所以trends 表也有很多的类型,trends 对应history, trends_uint 对应history_uint 。
Hosts,interface hosts 和interface 表非常重要,保存了每个agent 、proxy 等的IP 、hostid 、状态、IPMI ,端口等信息,几乎是记录了一台设备的所有的信息。
items items 表保存了采集项的信息。
media media 保存了某个用户的media 配置项,即对应的告警方式。