zabbix简单介绍与安装

zabbix简单介绍与安装

对于zabbix的介绍在各大资料都有,想要学习zabbix,第一步就是先要搞清楚原理。这里我对zabbix安装的过程以及他要监控的项目做一些详细的说明,希望对初学者朋友有帮助。
先来介绍几个名词
- zabbix server:zabbix软件实现监控的核心程序,主要功能是与zabbix proxies和 agents进行交互、触发器计算、发送告警通知;将数据集中存储等
- zabbix agent:部署在监控对象上,主动监控本地资源和应用的程序
- zabbix proxy:帮助zabbix server收集数据,分担zabbix server的负载的程序
- 主机:任何一台想要监控的网络设备
- 主机组:包含主机和模板,一般用于给不同用户组的主机分配权限时
- 监控项:想要接收主机的特定数据
- 触发器:被用于定义问题阈值和“评估”监控项接收到的数据的逻辑表达式
- 事件:单次发生的需要注意的事情,例如触发器的状态改变或发现有监控代理自动注册
- 异常:处于“异常”状态的触发器
- 动作:对事件作出反应的预定义的操作,有操作和条件组成
- 媒介:发送告警通知的手段
- 模板:可以被应用于主机上的实体(监控项,触发器,图形,聚合图形,应用,LLD,web场景)的集合,适用于批量修改


zabbix服务器起作用的三个不同的组件:

1、zabbix 服务器
2、web 前端
3、数据库存储

最简单的zabbix监控

这里选择两台主机(一台也可以,无非就是自己监测自己)
一台作为zabbix-server,一台作为agent
要关闭防火墙和selinux
配置hosts文件添加主机名和ip
详细见我的另一篇文章《mysql项目需要的主机基础环境设置》https://mp.csdn.net/mdeditor/81388608

配置基础环境

安装zabbix服务端
安装LAMP
源码安装zabbix server
配置zabbix web页面
在zabbix服务端安装agent端
在另一台Linux上安装agent端

需要软件:

zabbix-3.4.3编译源码包
https://www.zabbix.com/download
Mysql-5.7.17-glibc
https://www.mysql.com/downloads/
系统自带Apache(1.3.12或以上)
php-5.6.30(要求5.4.0或以上)
http://php.net/downloads.php
libmcrypt-2.5.8
libevent-2.1.8
pcre-8.01
我所用的软件在我的百度云有分享

LAMP安装

什么叫LAMP: Linux apache mysql php/perl/
还有LNMP nginx

安装Apache

yum -y install httpd httpd-devel 
对于初学者,特别是对于linux还不是特别熟练的人要注意,一定要先挂载光盘,然后配置好本地yum再进行yum安装
对于本地yum请看我另一篇文章
安装mysql-5.7.17-glibc:
添加MySQL用户组
useradd mysql
将压缩文件解压到自己指定目录下
tar xf mysql-5.7.17-linux-glibc2.5-x86_64.tar.gz -C /usr/local/
cd /usr/local/
给文件目录重命名
mv mysql-5.7.17-linux-glibc2.5-x86_64/ mysql
授权(linux权限上一定要注意,没有MySQL组权限mysql是不能对文件执行操作的)
chown -R mysql:mysql mysql/
修改配置文件
vim /etc/my.cnf
初始化mysql,我这里制定了datadir的位置
./mysqld –initialize –datadir=/data
设置环境变量并让环境变量生效
PATH=$PATH:/usr/local/mysql/bin
vim /root/.bash_profile
source /root/.bash_profile
mysqld_safe –skip-grant-tables &
mysql>flush privileges;
mysql>alter user root@localhost identified by ‘123’;
mysql>flush privileges;

编译安装PHP-5.6.30

yum install -y gcc gcc-c++ autoconf libjpeg libjpeg-devel libpng libpng-devel freetype freetype-devel libpng libpng-devel libxml2 libxml2-devel zlib zlib-devel glibc glibc-devel glib2 glib2-devel bzip2 bzip2-devel ncurses curl openssl-devel db4-devel libXpm-devel libX11-devel gmp-devel readline-devel libxslt-devel expat-devel xmlrpc-c libcurl libcurl-devel

安装加密扩展库:libmcrypt

[root@zabbix-server ~]# tar xf libmcrypt-2.5.8.tar.gz
[root@zabbix-server ~]# cd libmcrypt-2.5.8
[root@zabbix-server libmcrypt-2.5.8]# ./configure && make && make install

安装php:

[root@zabbix-server php-5.6.30]# ./configure –prefix=/usr/local/php –with-config-file-path=/etc –with-apxs2=/usr/sbin/apxs –with-mysql=/usr/local/mysql –with-mysqli=/usr/local/mysql/bin/mysql_config –enable-inline-optimization –enable-fpm –enable-soap –with-libxml-dir –with-xmlrpc –with-openssl –with-mcrypt –with-mhash –with-pcre-regex –with-sqlite3 –with-zlib –enable-bcmath –with-iconv –with-bz2 –enable-calendar –with-curl –with-cdb –enable-dom –enable-exif –enable-fileinfo –enable-filter –with-pcre-dir –enable-ftp –with-gd –with-openssl-dir –with-jpeg-dir –with-png-dir –with-zlib-dir –with-freetype-dir –enable-gd-native-ttf –with-gettext –with-gmp –with-mhash –enable-json –enable-mbstring –disable-mbregex –disable-mbregex-backtrack –with-libmbfl –with-onig –enable-pdo –with-pdo-mysql –with-zlib-dir –with-pdo-sqlite –with-readline –enable-session –enable-shmop –enable-simplexml –enable-sockets –enable-sysvmsg –enable-sysvsem –enable-sysvshm –enable-wddx –with-libxml-dir –with-xsl –enable-zip –enable-mysqlnd-compression-support –with-pear
[root@zabbix-server php-5.6.30]# make ; make install

拷贝php.ini和php-fpm.conf:

[root@zabbix-server ~]# cd php-5.6.30
[root@zabbix-server php-5.6.30]# cp php.ini-production /etc/php.ini
[root@zabbix-server php-5.6.30]# cp /usr/local/php/etc/php-fpm.conf.default /usr/local/php/etc/php-fpm.conf
[root@zabbix-server php-5.6.30]# cp sapi/fpm/init.d.php-fpm /etc/init.d/php-fpm
[root@zabbix-server php-5.6.30]# chmod +x /etc/init.d/php-fpm
fpm测试php配置:
[root@zabbix-server php-5.6.30]# /usr/local/php/sbin/php-fpm -t
[25-Dec-2017 12:47:10] NOTICE: configuration file /usr/local/php/etc/php-fpm.conf test is successful
[root@zabbix-server php-5.6.30]#
添加到server里管理启动:
[root@zabbix-server php-5.6.30]# chkconfig –add php-fpm
[root@zabbix-server php-5.6.30]# chkconfig php-fpm on
[root@zabbix-server php-5.6.30]# service php-fpm start
Starting php-fpm done

修改PHP默认端口:
[root@zabbix-server php-5.6.30]# vim /usr/local/php/etc/php-fpm.conf
listen = 127.0.0.1:8000
重启生效:
[root@zabbix-server zabbix-3.4.3]# service php-fpm restart
Gracefully shutting down php-fpm . done
Starting php-fpm done
[root@zabbix-server zabbix-3.4.3]# netstat -tnulp|grep fpm
tcp 0 0 127.0.0.1:8000 0.0.0.0:* LISTEN 73066/php-fpm
[root@zabbix-server zabbix-3.4.3]#

配置httpd.conf让Apache支持PHP:

vim /etc/httpd/conf/httpd.conf

在AddType application/x-gzip .gz .tgz下面添加如下内容:
AddType application/x-httpd-php .php
AddType application/x-httpd-php-source .phps
修改主页位置:
DirectoryIndex index.php index.html index.html.var
添加加载模块:(执行完上面后,该行已经存在在配置文件中,无需重复加载)
LoadModule php5_module /usr/lib64/httpd/modules/libphp5.so

安装zabbix server所需的包:
[root@zabbix-server ~]# yum -y install curl libcurl-devel net-snmp net-snmp-devel perl-DBI libdbi-dbd-mysql mysql-devel gcc gcc-c++ make libxml2 libxml2-devel

创建zabbix用户组和用户:

[root@zabbix-server ~]# groupadd zabbix
[root@zabbix-server ~]# useradd -g zabbix zabbix

先安装libevent:

tar xf libevent-2.1.8-stable.tar.gz
cd libevent-2.1.8-stable
[root@zabbix-server libevent-2.1.8-stable]# ./configure && make && make install

安装pcre:

[root@zabbix-server ~]# tar xf pcre-8.01.tar.gz
[root@zabbix-server ~]# cd pcre-8.01
[root@zabbix-server pcre-8.01]#
[root@zabbix-server pcre-8.01]# ./configure && make && make install

安装net-snmp:

[root@zabbix-server ~]# yum install net-snmp -y

安装odbc支持组件:

[root@zabbix-server ~]# yum -y install unixODBC unixODBC-devel
[root@zabbix-server ~]# yum install mysql-connector-odbc -y

安装libssh2支持组件:

[root@management_platform zabbix_soft]# tar xf libssh2-1.8.0.tar.gz
[root@management_platform zabbix_soft]# cd libssh2-1.8.0
[root@management_platform libssh2-1.8.0]# ./configure && make && make install

安装zabbix-server:不要忘了加snmp和odbc和ssh2支持选项

[root@zabbix-server ~]# tar xf zabbix-3.4.3.tar.gz
[root@zabbix-server ~]# cd zabbix-3.4.3
[root@zabbix-server zabbix-3.4.3]# ./configure –prefix=/usr/local/zabbix-server –enable-server –with-mysql –with-net-snmp –with-unixodbc –with-libcurl –with-libxml2 –enable-agent –enable-ipv6 –enable-proxy –with-ssh2 && make install
[root@zabbix-server zabbix-3.4.3]#

创建数据库和zabbix用户并授权:

mysql> create database zabbix charset utf8;
mysql> grant all on zabbix.* to zabbix@localhost identified by ‘123’;
mysql> flush privileges;

导入zabbix数据:

[root@zabbix-server zabbix-3.4.3]# mysql -uzabbix -p123 zabbix < database/mysql/schema.sql
[root@zabbix-server zabbix-3.4.3]# mysql -uzabbix -p123 zabbix < database/mysql/images.sql
[root@zabbix-server zabbix-3.4.3]# mysql -uzabbix -p123 zabbix < database/mysql/data.sql

复制web目录:

[root@zabbix-server zabbix-3.4.3]# cp -R frontends/php /var/www/zabbix/
进入var/www/zabbix
[root@zabbix-server zabbix-3.4.3]# chmod 777 /var/www/zabbix/php/conf

创建zabbix日志目录并给目录授权:

[root@zabbix-server ~]# mkdir /var/log/zabbix
[root@zabbix-server ~]# chown -R zabbix:zabbix /var/log/zabbix/

修改zabbix server配置文件:

[root@zabbix-server etc]# vim /usr/local/zabbix-server/etc/zabbix_server.conf
LogFile=/var/log/zabbix/zabbix_server.log
DBHost=localhost
DBName=zabbix
DBUser=zabbix
DBPassword=123
DBSocket= /data/mysql.sock
DBPort = 3306
Timeout=4
LogSlowQueries=3000

添加服务以及服务自启动:

[root@zabbix-server zabbix-3.4.3]# cp misc/init.d/fedora/core/zabbix_server /etc/init.d/
[root@zabbix-server zabbix-3.4.3]# chkconfig –add zabbix_server
[root@zabbix-server zabbix-3.4.3]# chkconfig zabbix_server on
[root@zabbix-server zabbix-3.4.3]# ln -s /usr/local/zabbix-server/bin /usr/bin/
[root@zabbix-server zabbix-3.4.3]# cp /usr/local/zabbix-server/sbin/zabbix_server /usr/local/sbin/
[root@zabbix-server zabbix-3.4.3]# ln -s /usr/local/lib/libevent-2.1.so.6 /usr/lib64/
[root@zabbix-server zabbix-3.4.3]# service zabbix_server start
Starting zabbix_server: [ OK ]
[root@zabbix-server zabbix-3.4.3]#

配置zabbix环境变量:

Vim /root/.bash_profile
PATH= P A T H : HOME/bin:/usr/local/mysql/bin:/usr/local/zabbix-server/bin
source /root/.bash_profile

编辑zabbix前端的配置文件:

在/etc/httpd/conf.d目录下
新建
vim zabbix.conf
Zabbix monitoring system php web frontend
Alias /zabbix /var/www/zabbix

修改httpd配置文件中servername:

vim /etc/httpd/conf/httpd.conf
ServerName localhost:80
重启httpd服务并添加服务及开机自启:
[root@zabbix-server conf]# service httpd start
Starting httpd: [ OK ]
[root@zabbix-server ~]# chkconfig –add httpd
[root@zabbix-server ~]# chkconfig httpd on
重启zabbix_server:
[root@zabbix-server conf]# service zabbix_server restart
Shutting down zabbix_server: [ OK ]
Starting zabbix_server: [ OK ]
[root@zabbix-server conf]#

在浏览器中访问zabbix server:http://172.16.10.1/zabbix

根据自己的配置设置登录项

这里写图片描述
这里写图片描述
这里写图片描述

达到这里,那么恭喜你你已经完成了zabbix监控端的搭建,接下来进行agent端的配置

Zabbix服务器端也开启agent代理

添加agentd服务及自启动:
[root@zabbix-server etc]# cp /root/zabbix-3.4.3/misc/init.d/fedora/core/zabbix_agentd /etc/init.d/
[root@zabbix-server etc]# chkconfig –add zabbix_agentd
[root@zabbix-server etc]# chkconfig zabbix_agentd on
编辑agentd配置文件:
[root@zabbix-server etc]# cat /usr/local/zabbix-server/etc/zabbix_agentd.conf
LogFile=/var/log/zabbix/zabbix_agentd.log
Server=172.16.120.23
ServerActive=172.16.120.23
Hostname=mysql-tar
UnsafeUserParameters=1
[root@zabbix-server etc]#
启动agentd:
[root@zabbix-server etc]# ln -s /usr/local/zabbix-server/sbin/zabbix_agentd /usr/local/sbin/
[root@zabbix-server etc]# service zabbix_agentd start
Starting zabbix_agentd: [ OK ]
[root@zabbix-server etc]#

Agent端安装及配置zabbix agent

所需软件:
Zabbix-3.4.3编译源码包
Pcre-8.01
创建zabbix用户组和用户:
[root@rhat-6-zabbix-agent ~]# groupadd zabbix
[root@rhat-6-zabbix-agent ~]# useradd -g zabbix zabbix
安装依赖包pcre:
先安装好编译工具:
[root@rhat-6-zabbix-agent ~]# yum install gcc-c++ -y
安装pcre:
[root@rhat-6-zabbix-agent ~]# tar xf pcre-8.01.tar.gz
[root@rhat-6-zabbix-agent ~]# cd pcre-8.01
[root@rhat-6-zabbix-agent pcre-8.01]# ./configure && make && make install

编译安装zabbix agent:
[root@rhat-6-zabbix-agent ~]# tar xf zabbix-3.4.3.tar.gz
[root@rhat-6-zabbix-agent ~]# cd zabbix-3.4.3
[root@rhat-6-zabbix-agent zabbix-3.4.3]# ./configure –prefix=/usr/local/zabbix-agent –enable-agent && make install
创建日志目录并授权:
[root@rhat-6-zabbix-agent fedora]# mkdir /var/log/zabbix
[root@rhat-6-zabbix-agent fedora]# chown -R zabbix:zabbix /var/log/zabbix/
修改agent配置文件:
[root@rhat-6-zabbix-agent zabbix-agent]# vim /usr/local/zabbix-agent/etc/zabbix_agentd.conf
LogFile=/var/log/zabbix/zabbix_agentd.log
Server=192.168.120.23
ServerActive=192.168.120.23
Hostname=mysql-rpm
UnsafeUserParameters=1
Timeout=8

添加服务方式启动以及开机自启动:
[root@rhat-6-zabbix-agent fedora]# cp /root/zabbix-3.4.3/misc/init.d/fedora/core/zabbix_agentd /etc/init.d/
[root@rhat-6-zabbix-agent fedora]# chkconfig –add zabbix_agentd
[root@rhat-6-zabbix-agent fedora]# chkconfig zabbix_agentd on
[root@rhat-6-zabbix-agent fedora]# ln -s /usr/local/zabbix-agent/sbin/zabbix_agentd /usr/local/sbin/
[root@rhat-6-zabbix-agent fedora]# service zabbix_agentd start
Starting zabbix_agentd: [ OK ]
[root@rhat-6-zabbix-agent fedora]#
将软件中默认配置文件拷贝到agent下:
cp /root/zabbix-3.4.3/conf/zabbix_agentd/userparameter_examples.conf /usr/local/zabbix-agent/etc/zabbix_agentd.conf.d/
cp /root/zabbix-3.4.3/conf/zabbix_agentd/userparameter_mysql.conf /usr/local/zabbix-agent/etc/zabbix_agentd.conf.d/
添加zabbix环境变量:/root/.bash_profile
在PATH后面添加zabbix bin位置:
/usr/local/zabbix-agent/bin
执行生效:
source /root/.bash_profile

总结来说,最基本的是在zabbix监控端创建你要监控的主机,让后对该主机添加监控项和触发器
另外你可以从自己建立模板来引用模板的监控项和触发器
当然很多大神他们在自己的博客上分享了他们创建的木板,我们可以通过下载这些模板来引用
创建触发器之后创建动作,常用的便是邮件告警和短信告警
推荐大家可以看一下大神凉白开的《zabbix从入门到精通》

添加监控主机

在菜单栏选择 配置-主机-创建主机

这里写图片描述
这里写图片描述

这样监控主机就完成了,然后对主机添加监控项和触发器

这里只说明一下简单的添加步骤,关于键值的设置还需要大家多多学习,多加练习。过段时间我会写一篇心得帖子来说明一些OS和mysql常用的监控项

添加监控项

主机-监控项-添加监控项

这里写图片描述

添加触发器

选择主机-触发器-创建触发器

这里写图片描述

这里我要实时监控swap分区大小的触发器,我就选择最新的T值>某个值

创建动作

创建动作这里四个步骤一定要全部都配置,注意是全都配

这里写图片描述
这里写图片描述
这里写图片描述
这里写图片描述

猜你喜欢

转载自blog.csdn.net/qq_39570637/article/details/81388404