1.CentOS7.2 zabbix3.4.11安装部署(lamp【apche2.4+mysql5.7+php5.6】使用yum快速安装,zabbix编译安装)

12 篇文章 0 订阅
9 篇文章 0 订阅

【介绍】
Zabbix是一个企业级的、开源的、分布式的监控套件。

Zabbix可以监控网络和服务的监控状况.Zabbix利用灵活的告警机制,允许用户对事件发送基于Email的告警. 这样可以保证快速的对问题作出相应. Zabbix可以利用存储数据提供杰出的报告及图形化方式. 这一特性将帮助用户完成容量规划。

Zabbix支持polling和trapping两种方式. 所有的Zabbix报告都可以通过配置参数在WEB前端进行访问. Web前端将帮助你在任何区域都能够迅速获得你的网络及服务状况. Zabbix可以通过尽可能的配置来扮演监控你的IT基础框架的角色,而不管你是来自于小型组织还是大规模的公司。


进程介绍

默认情况下zabbix包含5个程序:zabbix_agentd、zabbix_get、zabbix_proxy、zabbix_sender、zabbix_server,另外一个zabbix_java_gateway是可选,这个需要另外安装。下面来分别介绍下他们各自的作用。

zabbix_agentd
客户端守护进程,此进程收集客户端数据,例如cpu负载、内存、硬盘使用情况等

zabbix_get
zabbix工具,单独使用的命令,通常在server或者proxy端执行获取远程客户端信息的命令。通常用户排错。例如在server端获取不到客户端的内存数据,我们可以使用zabbix_get获取客户端的内容的方式来做故障排查。

zabbix_sender
zabbix工具,用于发送数据给server或者proxy,通常用于耗时比较长的检查。很多检查非常耗时间,导致zabbix超时。于是我们在脚本执行完毕之后,使用sender主动提交数据。

zabbix_server
zabbix服务端守护进程。zabbix_agentd、zabbix_get、zabbix_sender、zabbix_proxy、zabbix_java_gateway的数据最终都是提交到server
备注:当然不是数据都是主动提交给zabbix_server,也有的是server主动去取数据。

zabbix_proxy
zabbix代理守护进程。功能类似server,唯一不同的是它只是一个中转站,它需要把收集到的数据提交/被提交到server里。为什么要用代理?代理是做什么的?卖个关子,请继续关注运维生存时间zabbix教程系列。

zabbix_java_gateway

zabbix2.0之后引入的一个功能。顾名思义:Java网关,类似agentd,但是只用于Java方面。需要特别注意的是,它只能主动去获取数据,而不能被动获取数据。它的数据最终会给到server或者proxy。


【部署】
操作系统:CentOS7.2
说明一下:
zabbix在3.0版本以后使用的LAMP有一些要求,php必须要5.6以上才行。所以我这里使用了zabbix3.4.11安装部署LAMP【apche2.4+mysql5.7+php7.2】使用yum快速安装,zabbix编译安装;
环境准备:
server端:
[root@localhost ~]# echo "192.168.91.133  zabbx-node1.server.com  zabbix-node1" >> /etc/hosts
[root@localhost ~]# echo "192.168.91.134  zabbix-node2.client.com zabbix-node2" >> /etc/hosts
[root@localhost ~]#hostname zabbx-node1.server.com
[root@localhost ~]# bash
[root@zabbx-node1 ~]# ping -c 2 zabbix-node2.client.com
PING zabbix-node2.client.com (192.168.91.134) 56(84) bytes of data.
64 bytes from zabbix-node2.client.com (192.168.91.134): icmp_seq=1 ttl=64 time=0.874 ms
64 bytes from zabbix-node2.client.com (192.168.91.134): icmp_seq=2 ttl=64 time=0.763 ms

client端:
[root@localhost ~]# hostname zabbix-node2.client.com
[root@localhost ~]# bash
[root@zabbix-node2 ~]# echo "192.168.91.133  zabbx-node1.server.com  zabbix-node1" >> /etc/hosts
[root@zabbix-node2 ~]# echo "192.168.91.134  zabbix-node2.client.com zabbix-node2" >> /etc/hosts

[root@zabbix-node2 ~]# ping -c 2  zabbx-node1.server.com
PING zabbx-node1.server.com (192.168.91.133) 56(84) bytes of data.
64 bytes from zabbx-node1.server.com (192.168.91.133): icmp_seq=1 ttl=64 time=0.255 ms
64 bytes from zabbx-node1.server.com (192.168.91.133): icmp_seq=2 ttl=64 time=0.218 ms

 

以下全部是在server端操作:
1、防火墙及SELINUX关闭
systemctl stop firewalld.service
systemctl disable firewalld.service
sed -i 's/SELINUX=enforcing/SELINUX=disabled/' /etc/selinux/config
2、yum源配置

Linux下安装MariaDB官方文档参见:https://mariadb.com/kb/zh-cn/installing-mariadb-with-yum/
cd /etc/yum.repos.d/
rpm -ivh http://dl.fedoraproject.org/pub/epel/7/x86_64/Packages/e/epel-release-7-11.noarch.rpm
yum install http://repo.zabbix.com/zabbix/3.4/rhel/7/x86_64/zabbix-release-3.4-2.el7.noarch.rpm -y

3.LAMP安装:
==================================apache安装========================================
yum list |grep httpd
yum -y install httpd httpd-manual mod_ssl mod_perl mod_auth_mysql wget net-tools lrzsz

设置开机启动apache并启动apache:
systemctl restart httpd
systemctl enable httpd

 

================================MySQL安装==========================================
[root@zabbx-node1 ~]# cd /etc/yum.repos.d/
[root@zabbx-node1 yum.repos.]#wget http://dev.mysql.com/get/mysql57-community-release-el7-8.noarch.rpm //下载mysql5.7的rpm文件
[root@zabbx-node1 yum.repos.]#yum localinstall mysql57-community-release-el7-8.noarch.rpm //安装rmp文件
[root@zabbx-node1 yum.repos.]#yum install mysql-community-server  //安装MySQL数据库 约190M左右

[root@zabbx-node1 yum.repos.]#systemctl enable mysqld //启动数据库
[root@zabbx-node1 yum.repos.]# systemctl start mysqld
[root@zabbx-node1 yum.repos.]#grep 'temporary password' /var/log/mysqld.log //查看MySQL数据的原始密码文件
2018-07-26T10:38:49.096808Z 1 [Note] A temporary password is generated for root@localhost: gie%WzD4d7cp
[root@zabbx-node1 yum.repos.]# mysql -u root -pgie%WzD4d7cp
mysql> set password for 'root'@'localhost'=password('Abc@123456'); 重新为数据库设置密码(一定要是复杂的密码,否则ERROR 1819 (HY000): Your password does not satisfy the current policy requirements)
Query OK, 0 rows affected, 1 warning (0.00 sec)


[root@zabbx-node1 yum.repos.]# systemctl daemon-reload
[root@zabbx-node1 yum.repos.]# vim /etc/my.cnf
character_set_server=utf8
init_connect='SET NAMES utf8'

[root@zabbx-node1 ~]# mysql -uroot -pAbc@123456 //验证是否设置成功
mysql>  select version();   
+-----------+
| version() |
+-----------+
| 5.7.22    |
+-----------+
1 row in set (0.01 sec)

mysql> show variables like '%character%';
+--------------------------+----------------------------+
| Variable_name            | Value                      |
+--------------------------+----------------------------+
| character_set_client     | utf8                       |
| character_set_connection | utf8                       |
| character_set_database   | utf8                       |
| character_set_filesystem | binary                     |
| character_set_results    | utf8                       |
| character_set_server     | utf8                       |
| character_set_system     | utf8                       |
| character_sets_dir       | /usr/share/mysql/charsets/ |
+--------------------------+----------------------------+
8 rows in set (0.01 sec)

mysql>

//设置zabbix的库和用户密码
[root@zabbx-node1 ~]# mysql -uroot -pAbc@123456 -e "create database zabbix character set utf8 collate utf8_bin;"
[root@zabbx-node1 ~]# mysql -uroot -pAbc@123456 -e "grant all on zabbix.* to zabbix@localhost identified by 'Abc@123456';"
[root@zabbx-node1 ~]# mysql -uroot -pAbc@123456 -e "flush privileges;"

===================================php安装====================================
1.删除以前的php版本(跟上面删除mysql的命令是一样的)
先查看
rpm -qa | grep php
再删除
yum remove 文件名
2. 配置yum源,事先确认yum源的链接是不是有效的。
yum install epel-release
rpm -Uvh https://mirror.webtatic.com/yum/el7/webtatic-release.rpm
3. 确认安装的php版本
yum list | grep php
4. 安装依赖包并安装php
yum install -y openssl* pcre* autoconf make automake imake cmake gcc gcc-c++ libaio libaio-devel bzr bison expat-devel libtool ncurses5-devel gd-devel libjpeg-devel libpng-devel libxml2-devel bzip2-devel libcurl-devel
yum -y install php56w-mcrypt php56w-soap php56w-intl  php56w-pdo php56w php56w-mysql php56w-gd libjpeg* php56w-ldap php56w-odbc php56w-pear php56w-xml php56w-xmlrpc php56w-mbstring php56w-bcmath php-gd56w php-intl56w php-mysql56w mcrypt php5-mcrypt56w
测试:
[root@zabbx-node1 ~]# cat > /var/www/html/index.php
<?php
phpinfo();
?>

systemctl restart httpd
systemctl restart mysqld

web浏览器http://ip/index.php

 

 

 


安装zabbix
依赖包:
yum -y install net-snmp-devel libxml2-devel libcurl-devel libevent libevent-devel curl-devel mysql-devel iksemel-devel iksemel OpenIPMI OpenIPMI-devel ncurses-devel


编译安装zabbix
[root@zabbx-node1 ~]#tar zxvf zabbix-3.4.11.tar.gz  -C /usr/local/src/
[root@zabbx-node1 ~]# cd /usr/local/src/zabbix-3.4.11
[root@localhost zabbix-3.4.11]# ./configure --prefix=/usr/local/zabbix --enable-server --enable-agent --with-mysql --enable-ipv6 --with-net-snmp --with-libcurl --with-libxml2  --with-openipmi

报错:configure: error: MySQL library not found
解决: yum install mysql-devel

在报错:configure: error: Curl library not found
解决:yum install curl-devel

报错:configure: error: Not found mysqlclient library
解决:

***********************************************************   提示输入make install安装
*            Now run 'make install'                       *
*                                                         *
*            Thank you for using Zabbix!                  *
*              <http://www.zabbix.com>                    *
***********************************************************
[root@localhost zabbix-3.4.4]# make install

创建zabbix用户和用户组
groupadd zabbix
useradd -r -g zabbix zabbix
chown -R zabbix:zabbix /usr/local/zabbix/

导入数据库信息:
[root@zabbx-node1 zabbix-3.4.11]# ll /usr/local/src/zabbix-3.4.11/database/mysql/
total 4876
-rw-r--r-- 1 1001 1001 2877497 Jun 25 04:57 data.sql
-rw-r--r-- 1 1001 1001 1978341 Jun 25 04:57 images.sql
-rw-r--r-- 1 1001 1001  134791 Jun 25 04:57 schema.sql

[root@localhost zabbix-3.4.11]# mysql -uroot -pAbc@123456
MariaDB [zabbix]> use zabbix;
MariaDB [zabbix]> source /usr/local/src/zabbix-3.4.11/database/mysql/schema.sql
MariaDB [zabbix]> source /usr/local/src/zabbix-3.4.11/database/mysql/images.sql
MariaDB [zabbix]> source /usr/local/src/zabbix-3.4.11/database/mysql/data.sql
MariaDB [zabbix]>  flush privileges;

修改配置文件:
[root@zabbx-node1 ~]# cat /usr/local/zabbix/etc/zabbix_server.conf | grep -v "^$" | grep -v "^#"
LogFile=/tmp/zabbix_server.log
DBName=zabbix
DBUser=zabbix
DBPassword=Abc@123456
DBSocket=/tmp/mysql.sock
Timeout=4
LogSlowQueries=3000
[root@zabbx-node1 ~]# cat /usr/local/zabbix/etc/zabbix_agentd.conf | grep -v "^#" | grep -v "^$"
PidFile=/tmp/zabbix_agentd.pid
LogFile=/tmp/zabbix_agentd.log
Server=127.0.0.1
ServerActive=127.0.0.1
Hostname=zabbx-node1.server.com

检测配置文件是否有误:
[root@zabbx-node1 zabbix-3.4.11]# /usr/local/zabbix/sbin/zabbix_server -c /usr/local/zabbix/etc/zabbix_server.conf

需要做个软连接,不然zabbix_server启动不了,因为默认的mysql.sock是在var目录下:
ln -s /var/lib/mysql/mysql.sock /tmp/mysql.sock

拷贝zabbix WEB应用程序到Apache的网站目录下,并赋予网站的用户权限:
[root@zabbx-node1 ~]# mv /usr/local/src/zabbix-3.4.11/frontends/php/ /var/www/html/zabbix
[root@zabbx-node1 ~]# chown -R root:zabbix /var/www/html/zabbix/
[root@zabbx-node1 ~]# chmod -R 777 /var/www/html/zabbix/

[root@zabbx-node1 ~]# find / -name php.ini
/etc/php.ini
[root@zabbx-node1 ~]# sed -i 's/post_max_size = 8M/post_max_size = 16M/' /etc/php.ini  
[root@zabbx-node1 ~]# sed -i 's/max_execution_time = 30/max_execution_time = 300/' /etc/php.ini
[root@zabbx-node1 ~]# sed -i 's/max_input_time = 60/max_input_time = 300/' /etc/php.ini
[root@zabbx-node1 ~]# sed -i 's/;always_populate_raw_post_data = -1/always_populate_raw_post_data = -1/' /etc/php.ini
[root@zabbx-node1 ~]# sed -i 's/;date.timezone =/date.timezone = Asia/Shanghai/' /etc/php.ini

重启httpd:
[root@zabbx-node1 ~]# systemctl restart httpd

cp zabbix服务端和客户端的启动脚本:
[root@zabbx-node1 ~]# cp /usr/local/src/zabbix-3.4.11/misc/init.d/fedora/core/zabbix_* /etc/init.d/

赋予权限:
[root@zabbx-node1 ~]# chmod +x /etc/init.d/zabbix_*
[root@zabbx-node1 ~]# ll /etc/init.d/zabbix_*
-rwxr-xr-x 1 root root 2170 Jul 26 07:59 /etc/init.d/zabbix_agentd
-rwxr-xr-x 1 root root 2181 Jul 26 07:59 /etc/init.d/zabbix_server


修改服务器端启动文件

#vi /etc/init.d/zabbix_server
将BASEDIR=/usr/local/替换为BASEDIR=/usr/local/zabbix(以之前编译的位置为准)

修改客户器端启动文件:
#vi /etc/init.d/zabbix_agentd
将BASEDIR=/usr/local/替换为BASEDIR=/usr/local/zabbix(以之前编译的位置为准)


启动服务:
[root@zabbx-node1 ~]# /etc/init.d/zabbix_server start
Reloading systemd:  [  OK  ]
Starting zabbix_server (via systemctl):  [  OK  ]
[root@zabbx-node1 ~]# /etc/init.d/zabbix_agentd start
Starting zabbix_agentd (via systemctl):  [  OK  ]


浏览器访问,并进行安装http://ip/zabbix/
登录最新版Zabbix3.4 默认用户Admin 默认密码zabbix

汉化:
在windows的目录C:\Windows\Windows\Fonts找到 体楷 常规(simkai.ttf)

[root@zabbx-node1 ~]# mv /var/www/html/zabbix/fonts/DejaVuSans.ttf /var/www/html/zabbix/fonts/DejaVuSans.ttf.bak
[root@zabbx-node1 ~]# mv simkai.ttf /var/www/html/zabbix/fonts/DejaVuSans.ttf
[root@zabbx-node1 ~]# chown apache:apache /var/www/html/zabbix/fonts/DejaVuSans.ttf

OK安装完成

  • 0
    点赞
  • 1
    收藏
    觉得还不错? 一键收藏
  • 0
    评论
评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包
实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

1.余额是钱包充值的虚拟货币,按照1:1的比例进行支付金额的抵扣。
2.余额无法直接购买下载,可以购买VIP、付费专栏及课程。

余额充值