一 zabbix功能简介

1.zabbix三大监控组件

  • zabbix server

    • web gui
    • database
    • zabbix_server
  • zabbix proxy
  • agent client

2.监控流程

  1. agent client安装在被监控的主机
  2. agent负责定期收集客户端本地各项数据,并发送到server端
  3. zabbix server收到数据,将数据存储到数据库中
  4. 用户基于zabbix web看到图形数据

3.zabbix组件功能

  • zabbix server 负责接收agent发送的报告信息的核心组件,所有配置、统计数据、操作数据由其组织进行
  • database storage 用于存储所有的配置信息,以及存储有zabbix client收集到的数据
  • web interface zabbix的gui接口,通常与server运行在同一台主机上
  • proxy 用于分布式监控环境,为减轻server压力,代理server收集部分被监控端的监控数据并统一发送给server
  • zabbix agent 部署在被监控主机上,负责收集本地数据并发往server端或者proxy端

4.5个监控程序

  • zabbix_server 服务端守护进程,用于接收zabbix_agentd/zabbix_get/zabbix_sender/zabbix_proxy的数据
  • zabbix_agentd 客户端守护进程,负责收集客户端本地数据,cpu/mem/disk/io/network等
  • zabbix_get zabbix数据获取工具,在server端或者proxy端执行获取远程客户端信息的命令
  • zabbix_sender zabbix数据发送工具,在client端使用并发送数据给server或者proxy,耗时长,通常用脚本执行完毕后用于主动提交数据
  • zabbix_proxy zabbix分布式代理守护进程,分布式监控架构需要另外部署

5.常见3种监控方式

  • agent 以zabbix_agent客户端插件监控OS状态
  • SNMP 监控网络设备
  • IPMI 智能平台管理接口(intelligent platform management interface),监控设备物理特性,设备加电即可监控
agent主被动模式

在client配置文件中修改参数

  • 主动模式 默认,StartAgents=1

    • agent主动请求server获取监控项列表
    • 主动将监控项需要检测的数据发送给server/proxy
    • agent首先向参数ServerActive配置的IP请求获取active items
    • 获取并提交active items数据给server/proxy
  • 被动模式 StartAgents=0

    • Server向agent请求获取监控项的数据
    • agent返回数据
    • server打开一个TCP连接,server发送请求agent.ping
    • agent接收到请求并响应
    • server处理接收到的数据

    6.监控名词

  • host 被监控的对象,可以是主机、设备

  • host group host的组,批量操作

  • item 监控项,items值有独立的keys进行识别

  • trigger 触发器,为某个item设置触发器,达到触发条件执行actie动作

  • action 动作,对于特定时间预先定义处理方法,可以发送信息提醒或者发送命令

  • event 事件,引起触发器称之为一个事件

  • escalation 报警升级,发送警报或执行远程命令的自定义方案,比如多长时间发送多少次告警

  • media 发送通知发送,常用email

  • notification 提醒,通过media设置的方式向用户发送有关事件的信息

  • template 模板,快速应用item、trigger、graph、screen、application给host或者host group

  • web scennario web场景,用于检车web站点,监控http头部代码

  • frontend web前段,zabbix的web接口

  • graph 监控图像


二 zabbix部署

https://excellmedia.dl.sourceforge.net/project/zabbix/ZABBIX Latest Stable/3.4.7/zabbix-3.4.7.tar.gz

http://www.techoism.com/install-zabbix-server-on-centosrhel-765/

1.系统环境
  • OS版本:centos7.1
  • mysql版本:5.6.39
  • zabbix版本:3.2.6
2.下载zabbix
wget https://excellmedia.dl.sourceforge.net/project/zabbix/ZABBIX%20Latest%20Stable/3.4.7/zabbix-3.4.7.tar.gz
3.server和client都安装依赖包和创建zabbix用户
yum -y install curl curl-devel net-snmp net-snmp-devel perl-DBI libevent libevent-devel libxml2 libxml2-devel
groupadd zabbix
useradd -g zabbix zabbix
usermod -s /sbin/nologin zabbix

For all of the Zabbix daemon processes, an unprivileged user is required. If a Zabbix daemon is started from an unprivileged user account, it will run as that user.

However, if a daemon is started from a 'root' account, it will switch to a 'zabbix' user account, which must be present. To create such a user account (in its own group, “zabbix”) on Linux systems

4.server端配置
1.创建数据库
create database zabbix default charset=utf8;
grant all on zabbix.* to 'zabbix'@'localhost' identified by 'zabbix';
2.解压zabbix并导入sql到DB

sql脚本在zabbix-3.4.7/database/mysql/

tar -zxvf zabbix-3.4.7.tar.gz
mysql -uzabbix -pzabbix zabbix < zabbix-3.4.7/database/mysql/schema.sql
mysql -uzabbix -pzabbix zabbix < zabbix-3.4.7/database/mysql/images.sql
mysql -uzabbix -pzabbix zabbix < zabbix-3.4.7/database/mysql/data.sql
3.编译安装zabbix server

./configure --help 查看帮助

cd zabbix-3.4.7
./configure --prefix=/usr/local/zabbix --enable-server --enable-agent --with-mysql --enable-ipv6 --with-net-snmp --with-libcurl --with-libxml2
make && make install
ln -s /usr/local/zabbix/sbin/zabbix_* /usr/local/sbin/

configure完毕后提示直接make install

***********************************************************
* Now run 'make install' *
* *
* Thank you for using Zabbix! *
* <http://www.zabbix.com> *
***********************************************************
4.改配置
cd /usr/local/zabbix/etc
cp -rp zabbix_server.conf zabbix_server.conf.bak
vi zabbix_server.conf
LogFile=/tmp/zabbix_server.log
DBHost=localhost
DBName=zabbix
DBUser=zabbix
DBPassword=zabbix
5.拷贝启动
[root@mysql01 tru64]# pwd
/dvd/zabbix-3.4.7/misc/init.d/tru64
[root@mysql01 tru64]# cp /dvd/zabbix-3.4.7/misc/init.d/tru64/zabbix_server /etc/init.d/
[root@mysql01 tru64]# chmod o+x /etc/init.d//zabbix_server
[root@mysql01 tru64]# cd /etc/init.d
[root@mysql01 init.d]# ls -l|grep zabbix_server
-rw-r--r-x 1 root root 1521 Feb 26 23:00 zabbix_server
6.配置interface web
  • 安装php5.6
yum install http://repo.webtatic.com/yum/el7/epel-release.rpm -y
yum install https://mirror.webtatic.com/yum/el7/webtatic-release.rpm -y
yum install php70w php70w-mysql php70w-bcmath php70w-mbstring php70w-gd php70w-xml httpd httpd-devel httpd-tools -y

yum install php56w.x86_64 php56w-cli.x86_64 php56w-common.x86.64 php56w-gd.x86_64 php56w-ldap.x86_64 php56w-mbstring.x86_64 php56w-mcrypt.x86_64 php56w-mysql.x86_64 php56w-pdo.x86_64 httpd httpd-devel httpd-tools -y

  • 拷贝frontends到apache站点
[root@mysql01 html]# mkdir /var/www/html/zabbix/
[root@mysql01 html]# cp -rp /dvd/zabbix-3.4.7/frontends/php/* /var/www/html/zabbix/
  • 更改php.ini
cp -rp /etc/php.ini /etc/php.ini.bak
sed -i 's/\;date.timezone =/date.timezone=PRC/g' /etc/php.ini
sed -i '/max_input_time =/s/60/300/' /etc/php.ini
sed -i '/mbstring.func_overload = 0/a\mbstring.func_overload = 1' /etc/php.ini
sed -i '/post_max_size =/s/8M/32M/' /etc/php.ini
sed -i 's/max_execution_time = 30/max_execution_time = 300/g' /etc/php.ini
7.启动zabbix_server、apache
/etc/init.d/zabbix_server start
systemctl start httpd.service

-c --config config-file Path to the configuration file default: "/usr/local/zabbix/etc/zabbix_server.conf"

8.初始化zabbix

http://192.168.3.4/zabbix/







name会在网页标题了显示







9.初始化时候的错误处理

1.php依赖报错处理:yum install php70w-mysql php70w-bcmath php70w-mbstring php70w-gd php70w-xml -y

At least one of MySQL, PostgreSQL, Oracle or IBM DB2 should be supported.
PHP bcmath extension missing (PHP configuration parameter --enable-bcmath).
PHP mbstring extension missing (PHP configuration parameter --enable-mbstring).
PHP gd extension missing (PHP configuration parameter --with-gd).
PHP gd PNG image support missing.
PHP gd JPEG image support missing.
PHP gd FreeType support missing.
PHP xmlwriter extension missing.
PHP xmlreader extension missing.

2.DB connection报错处理:修改zabbix_server.confDBSocket=/data/my3306/run/mysql.sock 无效

Error connecting to database: Can't connect to local MySQL server through socket '/var/lib/mysql/mysql.sock' (2)

最终修改方法:ln -s /data/my3306/run/mysql.sock /var/lib/mysql/mysql.sock

3.第二天换了一台机器重新装又报权限不足

Error connecting to database: Can't connect to local MySQL server through socket '/var/lib/mysql/mysql.sock' (2)

处理:

[root@mysql01 my3306]# mkdir /var/lib/mysql
[root@mysql01 my3306]# ln -s /data/my3306/run/mysql.sock /var/lib/mysql/mysql.sock

原因:

getsebool -a | grep httpd
httpd_can_network_connect_db --> off

处理 /usr/sbin/setsebool -P httpd_can_network_connect_db on,用localhost依然不行

根本原因:

[root@docker02 dvd]# getenforce
Enforcing
[root@docker02 dvd]# setenforce 0
[root@docker02 dvd]# getenforce
Permissive

4.登录首页最下方提醒

Zabbix server is not running: the information displayed may not be current

[root@docker02 selinux]# getsebool -a | grep httpd
httpd_anon_write --> off
httpd_builtin_scripting --> on
httpd_can_check_spam --> off
httpd_can_connect_ftp --> off
httpd_can_connect_ldap --> off
httpd_can_connect_mythtv --> off
httpd_can_connect_zabbix --> off

开启后依然提醒not running /usr/sbin/setsebool -P httpd_can_connect_zabbix on

https://sysads.co.uk/2013/11/08/zabbix-server-running-alert/

  • 修改/var/www/html/zabbix/conf/zabbix.conf.php,下面参数需要和/etc/hosts对应

    $ZBX_SERVER = 'zabbix-srv';
10.server上启动agent

  • 定位到Configuration-host-enable Zabbix server
  • 报错111 conneciton refused
  • server log报错如下:
12116:20180227:134001.811 temporarily disabling Zabbix agent checks on host "Zabbix server": host unavailable
  • 启动zabbix_agentd即可正常 /etc/init.d/zabbix_agentd start
[root@docker02 tru64]# pwd
/dvd/zabbix-3.4.7/misc/init.d/tru64
[root@docker02 tru64]# cp zabbix_agentd /etc/init.d/
[root@docker02 tru64]# chmod o+x /etc/init.d/zabbix_agentd
[root@docker02 tru64]# /etc/init.d/zabbix_agentd start
5.agent客户端配置
1.解压源码编译安装zabbix agent
./configure --prefix=/usr/local/zabbix --enable-agent
make && make install
ln -s /usr/local/zabbix/sbin/zabbix_* /usr/local/sbin/
2.修改zabbix_agentd.conf
  • 指定server IP
  • 设置本地hostname,IP或者DNS
vi /usr/local/zabbix/etc/zabbix_agentd.conf
Server=172.16.3.154
ServerActive=172.16.3.154
Hostname=docker01

默认主动模式

$ cat zabbix_Agentd.conf

Server=X.X.X.X #如果设置为纯被动模式,则应该注释掉这一条指令

ServerActive=X.X.X.X #主动模式的server IP地址

Hostname= #在WebUI上声明主机时所使用相同的主机名(区分大小写),不配置则使用主机名。

StartAgents=0 #客户端Agent模式,设置为0表示关闭被动模式。被监控端的zabbix_agentd不监听本地端口,netstat无法查看到zabbix_agentd监听的端口。

3.创建zabbix用户并拷贝启动
[root@docker01 tru64]# groupadd zabbix
[root@docker01 tru64]# useradd -g zabbix zabbix
[root@docker01 tru64]# usermod -s /sbin/nologin zabbix
[root@docker01 tru64]# pwd
/dvd/zabbix-3.4.7/misc/init.d/tru64
[root@docker01 tru64]# cp zabbix_agentd /etc/init.d/
[root@docker01 tru64]# chmod o+x /etc/init.d/zabbix_agentd
[root@docker01 tru64]# /etc/init.d/zabbix_agentd start
4.在server端添加客户端监控
5.server无法监控agent时,可在server用命令获取items key测试
[root@docker02 etc]# /usr/local/zabbix/bin/zabbix_get -s 172.16.3.153 -k system.uname
Linux docker01 3.10.0-229.el7.x86_64 #1 SMP Fri Mar 6 11:36:42 UTC 2015 x86_64

mysql小白系列_08 zabbix3.2.6概念及部署的更多相关文章

  1. mysql小白系列_08 zabbix添加自定义监控项items和触发器

    监控mysql存活 1.配置agent自定义参数 vi /usr/local/zabbix/etc/zabbix_agentd.conf Include=/usr/local/zabbix/etc/z ...

  2. mysql小白系列_03 体系结构-线程池

    thread pool的原理是什么? 为什么用double write就能解决page坏的问题? Innodb redo log 与 binlog有什么区别?有了Innodb redo log为什么还 ...

  3. mysql小白系列_14 线上故障分析与排错

    1.重现故障5---线上执行update报错,并处理.(表结构和UPDATE语句自己构造,请给出详细步骤) 1)update故障出现ERROR 1206 (HY000): The total numb ...

  4. mysql小白系列_13 Online DDL

    Online DDL: 一.FIC之前的添加删除二级索引: 1.首先创建临时表,定义目标新表的选项和索引 2.逐行拷贝数据到临时表 3.插入行时更新索引信息 4.数据全部被拷贝到新表后,删除旧表,re ...

  5. mysql小白系列_12 sysbench

    压测 1.查看机器负载load top - load average 1m 5m 15m cat /proc/loadavg 与CPU个数有关,1个load表示1个CPUcat /proc/cpuin ...

  6. mysql小白系列_11 MHA

    一.MHA是什么?能干什么的 (1)以Perl语言写的一套Mysql故障切换方案,一个脚本管理工具 (2)保障数据库的高可用性 (3)修复多个slave之间的差异日志,最终使所有的slave保持数据一 ...

  7. mysql小白系列_10 mysql主从复制原理

    1.如何解决主从复制延迟的问题? (1)主从复制原理 http://www.cnblogs.com/jenvid/p/8410922.html 1.salve执行slave start,salve服务 ...

  8. mysql小白系列_09 mysql性能优化关键点

    一 服务器参数调优,有哪些关键点? 1. 应用访问优化 优化方法 性能提升效果 优化成本 说明 减少数据访问能不访问就不访问-减少磁盘IO 1~1000 低 缓存服务器缓存mysql数据,Redis. ...

  9. mysql小白系列_07 锁与事务

    1.MySQL参数autocommit生产环境设1还是0?为什么? 2.MySQL参数tx_isolation生产环境上大多数是设什么值,为什么? 3.与MySQL锁相关的有哪些因素? 1.MySQL ...

随机推荐

  1. Zabbix磁盘性能监控

    iostat统计磁盘信息的时候,使用的是/proc/diskstats ,cat /proc/diskstats显示如下 ram0 ram1 ram2 ram3 ram4 ram5 ram6 ram7 ...

  2. 虚拟机 VMware Workstation Pro 15.5.0 及永久激活密钥

    虚拟机 VMware Workstation Pro 15.5.0 及永久激活密钥 虚拟机下载地址:https://download3.vmware.com/software/wkst/file/VM ...

  3. CentOS7虚拟机安装vmtools

    直接开始: 在安装vmtools之前,需要先安装两个小部件,否则将安装失败. 下面是步骤: 1.切换为root模式,需要输入root密码,但是不显示. 命令为: su 2.安装gcc 命令为: yum ...

  4. VS2013 配置全局 VC++目录

    原文链接:https://blog.csdn.net/humanking7/article/details/80391914 也许是我VS2013安装的有问题,每次编译程序都要去 项目属性页-> ...

  5. 实战-MySQL定时增量备份(2)

    概要 引言 增量备份 恢复增量备份 定时备份 引言 在产品上线之后,我们的数据是相当重要的,容不得半点闪失,应该做好万全的准备,搞不好哪一天被黑客入侵或者恶意删除,那就 gg 了.所以要对我们的线上数 ...

  6. POJ - 2251 Dungeon Master(搜索)

    You are trapped in a 3D dungeon and need to find the quickest way out! The dungeon is composed of un ...

  7. Codeforce 270D Greenhouse Effect

    Emuskald is an avid horticulturist and owns the world's longest greenhouse - it is effectively infin ...

  8. MYSQL数据库配置安装、重置密码以及工具连接

    一.下载mysql安装包 下载地址:https://dev.mysql.com/downloads/mysql/ 下载解压好之后,就是一个文件夹的形式. 二.配置环境变量 环境变量的配置,就是把MyS ...

  9. VMware15.5.0安装MacOS10.15.0系统 安装步骤(上)

    VMware15.5.0安装MacOS10.15.0系统安装步骤(上)超详细! 说明: 本文是目前最新的安装和调配教程且MacOS10.15和10.16版本搭建方法相同,我也会在一些细节地方加上小技巧 ...

  10. 关于2020.04.26【MySQL导出数据到文件中的方法】的补充

    之前导出的数据文件中没有表的列名,感觉不够完整,摸索一下发现带表列名导出也是可以的,只试了导出txt和csv两种文件类型的方法.       1.导出数据到txt文件中(包含数据表列名)的方法:先选择 ...