zabbix 2.2.20 安装详解(Centos6.9)

本文涉及的产品
RDS AI 助手,专业版
RDS MySQL DuckDB 分析主实例,基础系列 4核8GB
RDS MySQL DuckDB 分析主实例,集群系列 4核8GB
简介: 环境说明 [root@centos ~]# cat /etc/redhat-release CentOS release 6.9 (Final) [root@centos ~]# uname -a Linux lb02 2.

环境说明

[root@centos ~]# cat /etc/redhat-release 
CentOS release 6.9 (Final)
[root@centos ~]# uname -a
Linux lb02 2.6.32-696.el6.x86_64 #1 SMP Tue Mar 21 19:29:05 UTC 2017 x86_64 x86_64 x86_64 GNU/Linux

服务端配置

第一个里程碑:在m01上部署LNP架构

cd /server/scripts
sh nginx_install.sh
sh php_install.sh

nginx_install.sh 脚本内容

#!/bin/bash

# base setting
mkdir -p /server/tools

## install nginx
killall nginx
yum install -y pcre-devel openssl-devel
useradd -M -s /sbin/nologin www -u 501
cd /server/tools/
\rm  -rf /application/nginx-1.10.2
wget http://nginx.org/download/nginx-1.10.2.tar.gz
tar xf nginx-1.10.2.tar.gz
cd /server/tools/nginx-1.10.2
./configure --prefix=/application/nginx-1.10.2 --user=www --group=www --with-http_stub_status_module --with-http_ssl_module
make
make install
ln -sf  /application/nginx-1.10.2 /application/nginx
cd /application/nginx/conf/
egrep -v "#|^$" nginx.conf.default >nginx.conf

/application/nginx/sbin/nginx

php_install.sh 脚本内容

#!/bin/bash

killall php-fpm
killall php-fpm

# devel anzhuang

yum install zlib-devel libxml2-devel libjpeg-devel libjpeg-turbo-devel libiconv-devel freetype-devel libpng-devel gd-devel libcurl-devel libxslt-devel -y
yum install -y zlib-devel libxml2-devel libjpeg-devel libjpeg-turbo-devel libiconv-devel freetype-devel libpng-devel gd-devel libcurl-devel libxslt-devel

# libiconv INSTALL

cd /server/tools

http://ftp.gnu.org/pub/gnu/libiconv/libiconv-1.14.tar.gz
tar zxf libiconv-1.14.tar.gz
cd libiconv-1.14
./configure --prefix=/usr/local/libiconv
make
make install

# by epel yum
yum -y install libmcrypt-devel mhash mcrypt
\rm -rf /application/php-5.5.32

##### install php
cd /server/tools/

# wget http://10.0.0.250/tools/php-5.5.32.tar.gz  
tar xf php-5.5.32.tar.gz
cd  /server/tools/php-5.5.32

#  set php config ##########################
./configure \
--prefix=/application/php-5.5.32 \
--with-mysql=mysqlnd \
--with-mysqli=mysqlnd \
--with-pdo-mysql=mysqlnd \
--with-iconv-dir=/usr/local/libiconv \
--with-freetype-dir \
--with-jpeg-dir \
--with-png-dir \
--with-zlib \
--with-libxml-dir=/usr \
--enable-xml \
--disable-rpath \
--enable-bcmath \
--enable-shmop \
--enable-sysvsem \
--enable-inline-optimization \
--with-curl \
--enable-mbregex \
--enable-fpm \
--enable-mbstring \
--with-mcrypt \
--with-gd \
--enable-gd-native-ttf \
--with-openssl \
--with-mhash \
--enable-pcntl \
--enable-sockets \
--with-xmlrpc \
--enable-soap \
--enable-short-tags \
--enable-static \
--with-xsl \
--with-fpm-user=www \
--with-fpm-group=www \
--enable-ftp \
--enable-opcache=no \
--with-gettext

#  fangchuo
#ln -s /application/mysql/lib/libmysqlclient.so.18  /usr/lib64/
touch ext/phar/phar.phar
make && make install

ln -sf /application/php-5.5.32 /application/php

cd /server/tools/php-5.5.32
\cp php.ini-production /application/php/lib/php.ini
cd /application/php/etc/
\cp php-fpm.conf.default php-fpm.conf

/application/php/sbin/php-fpm

第二个里程碑:创建zabbix运行所需的用户

useradd zabbix -M -s /sbin/nologin  -u 1010

   第三个里程碑:创建所需数据库和授权用户

   数据库分离,zabbix与数据库不再同一台主机,数据库的安装方式,请参考我的博文。

mysql> create database zabbix character set utf8;
mysql> grant all on zabbix.* to zabbix@'172.16.1.0/255.255.255.0'  identified by  'oldboy123';
mysql> flush privileges;

第四个里程碑:下载zabbix源码包编译安装

# 安装依赖关系

yum install libdbi-dbd-mysql  mysql-devel net-snmp-devel -y 

#安装zabbix

wget https://jaist.dl.sourceforge.net/project/zabbix/ZABBIX%20Latest%20Stable/2.2.20/zabbix-2.2.20.tar.gz
tar zxf zabbix-2.2.20.tar.gz
cd zabbix-2.2.20
./configure --prefix=/application/zabbix-2.2.20 --enable-server --enable-agent --with-net-snmp --with-libcurl --with-mysqli=mysqlnd --with-mysql=mysqlnd

make && make install

第五个里程碑:创建软连接

ln -sf /application/zabbix-2.2.20 /application/zabbix

第六个里程碑:将导入数据导入数据库

cd /server/tools/zabbix-2.0.6/database/mysql/
mysql -uzabbix -poldboy123 zabbix -h 10.0.0.51 < schema.sql
mysql -uzabbix -poldboy123 zabbix -h 10.0.0.51 < images.sql
mysql -uzabbix -poldboy123 zabbix -h 10.0.0.51 < data.sql

第七个里程碑:定义服务端口

vim /etc/services        ##末尾添加以下内容

zabbix-agent    10050/tcp               # Zabbix Agent
zabbix-agent    10050/udp               # Zabbix Agent
zabbix-trapper  10051/udp               # Zabbix Trapper
zabbix-trapper  10051/tcp               # Zabbix Trapper

第八个里程碑:修改配置文件

#vim /application/zabbix/etc/zabbix_server.conf
#egrep -v "#|^$" /application/zabbix/etc/zabbix_server.conf

LogFile=/tmp/zabbix_server.log
PidFile=/tmp/zabbix_server.pid
DBHost=172.16.1.51
DBName=zabbix
DBUser=zabbix
DBPassword=oldboy123

第九个里程碑:复制启动脚本

cd /server/tools/zabbix-2.2.20
cp -a misc/init.d/fedora/core/zabbix_server /etc/init.d/zabbix

第十个里程碑:修改启动脚本

vim /etc/init.d/zabbix_server
    BASEDIR=/application/zabbix     //zabbix的安装位置
CONFILE=$BASEDIR/etc/zabbix_server.conf //定义zabbix配置文件位置

##搜索 start这一项,修改启动选项

# functions
start() {
        if [ $RUNNING -eq 1 ]
               then
                echo "$0 $ARG: $BINARY_NAME (pid $PID) already running"
        else
                action $"Starting $BINARY_NAME: " $FULLPATH -c $CONFILE      //这一行添加-c $CONFILE
                touch /var/lock/subsys/$BINARY_NAME
    fi
}

# 将服务写入开机自启动

echo "/etc/init.d/zabbix start" >> /etc/rc.local

第十一个里程碑:复制web代码到站点目录

rsync -az /server/tools/zabbix-2.2.20/frontends/php/  /application/nginx/html/zabbix/

注意修改站点目录的属组,否则安装的时候会有问题

chown  -R www.www /application/nginx/html/

第十二个里程碑:启动服务

[root@m01 init.d]# /etc/init.d/zabbix start
Starting zabbix_server:                                    [  OK  ]

第十三个里程碑:修改php配置文件

cd /application/php/lib/
sed -i '/^;default_charset/a\default_charset = "UTF-8"'  php.ini
sed -i '/^expose_php/cexpose_php = Off' /etc/php.ini
sed -i '/^max_execution_time/cmax_execution_time = 300'  php.ini
sed -i '/^max_input_time/cmax_input_time = 300'  php.ini
sed -i '/^memory_limit/cmemory_limit = 256M'   php.ini
sed -i '/^post_max_size/cpost_max_size = 32M'  php.ini
sed -i '/^upload_max_filesize/cupload_max_filesize = 300M'  php.ini
sed -i '/^max_file_uploads/cmax_file_uploads = 30'  php.ini
sed -i '/^;date.timezone/cdate.timezone = "PRC"'  php.ini

   修改网php配置文件后,重启php服务。

   第十四个里程碑:进行软件配置配置

      1)使用浏览器访问,配置好的web站点

 

      2)检查php相关配置是否正确

      3)输入数据库的相关信息

 

      4)设置本地的相关信息

 

      5)确认相关信息

 

      6)zabbix服务器安装完成

      7)修改模式显示为中文。

 

      8)选择Chinese即可

 

服务端配置到此结束。

客户端配置

   第一个里程碑:下载客户端,并进行安装

mkdir -p /application/zabbix_agents  /server/tools
cd /server/tools
wget http://www.zabbix.com/downloads/2.0.6/zabbix_agents_2.0.6.linux2_6.amd64.tar.gz
tar xf zabbix_agents_2.0.6.linux2_6.amd64.tar.gz  -C /application/zabbix_agents/

第二个里程碑:修改客户端配置文件

[root@web03 conf]# tail -4 /application/zabbix_agents/conf/zabbix_agentd.conf
LogFile=/tmp/zabbix_agentd.log
Server=172.16.1.61  #管理主机地址
ServerActive=172.16.1.61 #主动管理主机地址
Hostname=172.16.1.9   #客户机地址

第三个里程碑:将启动脚本推送到被管理端

[root@m01 scripts]# rsync -avz  /server/tools/zabbix-2.2.20/misc/init.d/fedora/core/zabbix_agentd  172.16.1.9:/etc/init.d/zabbix_agentd
sending incremental file list
zabbix_agentd

sent 1139 bytes  received 31 bytes  780.00 bytes/sec
total size is 2170  speedup is 1.85

修改启动脚本中的内容

   

     # Zabbix-Directory

        BASEDIR=/application/zabbix_agents

        CONFILE=$BASEDIR/conf/zabbix_agentd.conf

##搜索 start这一项,修改启动选项

# functions
start() {
        if [ $RUNNING -eq 1 ]
               then
                echo "$0 $ARG: $BINARY_NAME (pid $PID) already running"
        else
                action $"Starting $BINARY_NAME: " $FULLPATH -c $CONFILE      //这一行添加-c $CONFILE
                touch /var/lock/subsys/$BINARY_NAME
    fi
}

第四个里程碑:启动服务

在启动服务之前,需要创建一个zabbix用户,不然会提示没有zabbix用户是启动不起来的

useradd zabbix -M -s /sbin/nologin  -u 1010

启动服务,并写入开机自启动

/etc/init.d/zabbix_agentd start
echo '/etc/init.d/zabbix_agentd start' >>/etc/rc.local

客户端配置到此结束。

web管理配置

   第一个里程碑:添加主机

 

   第二个里程碑:全克隆主机模板,快速添加新的主机。

 

   web界面的更多配置可以参照官网。https://www.zabbix.com/documentation/3.4/zh/start

 

?问题:

      改为中文界面后发现图像中的中文

原因是由于zabbix的web前端没有中文字体,所以需要给他添加一个中文字符集。

解决办法:

 1)在windwos中找到提取一共中文字体集

      在windows的资源管理器地址栏中输入 C:\Windows\Fonts

 

 2)选择一个喜欢的中文字体,复制。保存一下,然后上传到服务器的zabbix站点目录下的fonts 目录中。

[root@m01 ~]# cd  /application/nginx/html/zabbix/fonts/

[root@m01 fonts]# ls
DejaVuSans.ttf

3)将上传的字体文件改名为DejaVuSans.ttf(注意原文件备份)

[root@m01 fonts]# mv   xxx.ttf  DejaVuSans.ttf

 4)然后刷新浏览器即可。

 

 

相关实践学习
每个IT人都想学的“Web应用上云经典架构”实战
本实验从Web应用上云这个最基本的、最普遍的需求出发,帮助IT从业者们通过“阿里云Web应用上云解决方案”,了解一个企业级Web应用上云的常见架构,了解如何构建一个高可用、可扩展的企业级应用架构。
MySQL数据库入门学习
本课程通过最流行的开源数据库MySQL带你了解数据库的世界。 &nbsp; 相关的阿里云产品:云数据库RDS MySQL 版 阿里云关系型数据库RDS(Relational Database Service)是一种稳定可靠、可弹性伸缩的在线数据库服务,提供容灾、备份、恢复、迁移等方面的全套解决方案,彻底解决数据库运维的烦恼。 了解产品详情:&nbsp;https://www.aliyun.com/product/rds/mysql&nbsp;
目录
相关文章
|
6月前
|
存储 Ubuntu Linux
VMware-安装CentOS系统教程及安装包
虚拟机相当于是一个独立于你电脑的环境,在这个环境上面,你可以安装Linux、Windows、Ubuntu等各个类型各个版本的系统,在这个系统里面你不用担心有病读等,不用担心文件误删导致系统崩溃。 虚拟机也和正常的电脑系统是一样的,也可以开关机,不用的时候,你关机就可以了,也不会占用你的系统资源,使用起来还是比较方便 这里也有已经做好的CentOS 7系统,下载下来解压后直接用VMware打开就可以使用
1243 69
|
5月前
|
存储 分布式计算 Linux
安装篇--CentOS 7 虚拟机安装
VMware 装 CentOS 7 不知道从哪下手?这篇超详细图文教程手把手教你在 VMware Workstation 中完成 CentOS 7 桌面系统的完整安装流程。从 ISO 镜像下载、虚拟机配置,到安装图形界面、设置用户密码,每一步都有截图讲解,适合零基础新手快速上手。装好之后无论你是要搭 Hadoop 集群,还是练 Linux ,这个环境都够你折腾一整天!
2233 3
|
6月前
|
Ubuntu Linux 索引
Centos 7、Debian及Ubuntu系统中安装和验证tree命令的指南。
通过上述步骤,我们可以在CentOS 7、Debian和Ubuntu系统中安装并验证 `tree`命令。在命令行界面中执行安装命令,然后通过版本检查确认安装成功。这保证了在多个平台上 `tree`命令的一致性和可用性,使得用户无论在哪种Linux发行版上都能使用此工具浏览目录结构。
566 78
|
7月前
|
Linux 网络安全 Apache
针对在Centos/Linux安装Apache过程中出现的常见问题集锦
以上每个问题的解决方案应深入分析错误日志、系统消息和各种配置文件,以找到根本原因并加以解决。务必保持系统和Apache软件包更新到最新版本,以修复已知的bugs和安全漏洞。安装和管理Web服务器是一项需要细致关注和不断学习的任务。随着技术的发展,推荐定期查看官方文档和社区论坛,以保持知识的更新。
316 80
|
5月前
|
安全 关系型数据库 MySQL
CentOS 7 yum 安装 MySQL教程
在CentOS 7上安装MySQL 8,其实流程很清晰。首先通过官方Yum仓库来安装服务,然后启动并设为开机自启。最重要的环节是首次安全设置:需要先从日志里找到临时密码来登录,再修改成你自己的密码,并为远程连接创建用户和授权。最后,也别忘了在服务器防火墙上放行3306端口,这样远程才能连上。
1153 16
|
6月前
|
存储 关系型数据库 MySQL
在CentOS 8.x上安装Percona Xtrabackup工具备份MySQL数据步骤。
以上就是在CentOS8.x上通过Perconaxtabbackup工具对Mysql进行高效率、高可靠性、无锁定影响地实现在线快速全量及增加式数据库资料保存与恢复流程。通过以上流程可以有效地将Mysql相关资料按需求完成定期或不定期地保存与灾难恢复需求。
535 10
|
7月前
|
人工智能 数据挖掘 Linux
Centos安装Python3.7(亲测可用)
本指南详细介绍了在基于Linux(以CentOS系统为例,使用yum包管理器)的系统上安装Python 3.7版本的完整流程。Python是一种广泛使用的高级编程语言,在各种领域如软件开发、数据分析、人工智能和区块链开发等都有着重要的应用。
682 2
|
6月前
|
运维 网络协议 Linux
CentOS下Bind服务的安装与故障排查
通过以上的步骤,您应该能够在CentOS系统上安装并配置BIND DNS服务,并进行基本的故障排查。
581 0
|
6月前
|
存储 Ubuntu Linux
安卓手机免root安装各种Linux系统:Ubuntu, Centos,Kali等
此外还可以安装Slackware、Archstrike等系统,还可以通过github查找方法安装更多有趣的东西。 昨日小编就是通过Termux安装的Kali Linux工具包。