设为首页 收藏本站
查看: 1016|回复: 0

[经验分享] Zabbix的企业级监控架构搭建—zabbix_server的安装

[复制链接]

尚未签到

发表于 2019-1-18 08:54:16 | 显示全部楼层 |阅读模式
zabbix运行的系统环境是LNMP平台,这里主要总结了一些自己在生产环境中安装zabbix_server的过程和方法,因为某些原因,这套过程在CentOS,Suse,Eulor系统均反复尝试过,都可以成功安装zabbix_server。我喜欢用源码包安装,这样可以掌握各种依赖软件包的安装路径,缺啥装啥,尤其是避免php安装过程中无法找到依赖包的麻烦。

一.Mysql的源码安装

1.相关安装包的下载
  (1)mysql的下载
登陆https://downloads.mysql.com/archives/community/选择最新的稳定版本,进行下载。
(2)cmake的下载
登陆https://cmake.org/download/下载最新的版本。
(3)Boost的下载
登陆https://sourceforge.net/projects/boost/files/boost/1.59.0/boost_1_59_0.tar.gz下载。

2.Mysql的安装
  (1)Yum安装依赖包
这里使用yum安装gcc,c++的编译环境。
#yum -y install gcc gcc-c++ ncurses  ncurses-devel  *curl* *libxml2*
(2)安装cmake

#tar -xvf cmake-3.10.1.tar.gz
#cd cmake-3.10.1/
#./bootstrap --prefix=/home/cmake
#make && make install
  (3)准备boost
# tar -xvf boost_1_59_0.tar.gz -C /usr/local/
(4)创建用户和日志文件目录

# groupadd mysql
# useradd -s /sbin/nologin -g mysql mysql
# mkdir /var/log/mysql
# chown -R mysql.mysql /var/log/mysql/
  (5)安装mysql

# tar -xvf mysql-5.7.18.tar.gz
# cd mysql-5.7.18/
#/home/cmake/bin/cmake -DCMAKE_INSTALL_PREFIX=/node/mysql  -DSYSCONFDIR=/etc -DMYSQL_TCP_PORT=3306 -DMYSQL_USER=mysql -DEXTRA_CHARSETS=all -DDOWNLOAD_BOOST=1 -DWITH_BOOST=/usr/local/boost_1_59_0
#make && make install
3.配置mysql
  (1)拷贝启动脚本

# cp /node/installfile/mysql/mysql-5.7.18/support-files/mysql.server /etc/init.d/mysqld
# chmod +x /etc/init.d/mysqld
  (2)将mysql数据库的动态链接库共享至系统链接库,以便被其他服务调用
# ln -sv /node/mysql/lib/libmysqlclient.so.20 /usr/lib/
(3)设置库文件及环境变量

# echo "/node/mysql/lib" >> /etc/ld.so.conf
# ldconfig
# echo "export PATH=$PATH:$HOME/bin:/node/mysql/bin/" >>  /etc/profile
# source /etc/profile
  (4)设置开机自启

# chkconfig --add mysqld
# chkconfig mysqld on
# chkconfig --list mysqld
  (5)配置文件
mysql的配置文件是/etc/my.cf,mysql对于zabbix的使用性能来说,是重要的影响因素,需要做一些优化,这部分内容在后面做一些总结。

4.初始化数据库
  # mysqld --initialize-insecure --user=mysql --basedir=/node/mysql --datadir=/node/mysql/data

5.启动数据库

# chown -R mysql.mysql /node/mysql/
# /etc/init.d/mysqld restart
# netstat -anptu |grep "mysql"
tcp6       0      0 :::3306            :::*           LISTEN      3922/mysqld
二.Nginx的源码安装

1,准备依赖库
  (1)Pcre
下载地址:ftp://ftp.csx.cam.ac.uk/pub/software/programming/pcre/
# tar -xvf pcre-8.41.tar.gz
(2)Openssl
下载地址:https://www.openssl.org/source/
# tar -xvf openssl-1.1.0g.tar.gz
(3)Zlib
下载地址:http://www.zlib.net/
# tar -xvf zlib-1.2.11.tar.gz

2.添加用户

# groupadd nginx
# useradd -s /sbin/nologin -g nginx nginx
3.Nginx安装

# tar -xvf nginx-1.12.2.tar.gz
# cd nginx-1.12.2/
# ./configure --prefix=/node/nginx-1.12.2 --user=nginx --with-pcre=../pcre-8.41/ --with-zlib=../zlib-1.2.11/ --with-openssl=../openssl-1.1.0g/ --with-http_stub_status_module --with-http_ssl_module
#make && make install
4.Nginx配置

# echo 'export PATH=$PATH:/node/nginx-1.12.2/sbin/' >> /etc/profile
# source /etc/profile
5.启动nginx

# nginx`
#nginx -s stop #关闭nginx
6.nginx的启动脚本

#vim /etc/init.d/nginxd
#!/bin/bash
#chkconfig: - 80 90
pid=/node/nginx-1.12.2/logs/nginx.pid
mstart(){
if [ -e $pid ];then
echo -e "\033[32mnginx已启动\033[0m"
else
nginx  &>/etc/null
[ $? -eq 0 ]&&echo -e "\033[32mnginx启动成功\033[0m"||echo -e "\033[31mnginx启动失败\033[0m"
fi            
}
mstop(){
if [ -e $pid ];then
nginx -s stop  &>/etc/null
[ $? -eq 0 ]&&echo -e "\033[32mnginx关闭成功\033[0m"||echo -e "\033[31mnginx关闭失败\033[0m"
else
echo -e "\033[32mnginx已关闭\033[0m"
fi  
}
mstatus(){
if [ -e $pid ];then
echo -e "\033[32mnginx已启动\033[0m"
else
echo -e "\033[32mnginx已关闭\033[0m"           
fi
}
mrestart(){
if [ -f $pid ];then
kill `cat $pid`
[ $? -eq 0 ]&&echo -e "\033[32mnginx已关闭\033[0m"||echo "nginx失败"
else
echo -e "\033[32mnginx已关闭\033[0m"
fi
echo -e "nginx重启中"
sleep 2
if [ -f $pid ];then
echo -e "\033[32mnginx已启动\033[0m"
else
nginx  &> /dev/null
[ $? -eq 0 ]&&echo -e "\033[32mnginx已启动\033[0m"||echo "nginx启动失
败"
fi
}
case $1 in
start)
mstart
;;
stop)
mstop
;;
status)
mstatus
;;
restart)
mrestart
;;
reload)
nginx -s reload
;;
*)
echo "Usage: $0 [start|stop|restart|status|reload]"
esac
三.安装PHP

1.安装依赖库
  # yum install libXpm-devel
(1)安装mhash

# tar -xvf mhash-0.9.9.9.tar.gz
# cd mhash-0.9.9.9/
# ./configure
#make && make install
  (2)安装libiconv

# tar -xvf libiconv-1.15.tar.gz
# cd libiconv-1.15/
# ./configure
#make && make install
  (3)安装libmcrypt

# tar -xvf libmcrypt-2.5.8.tar.gz
# cd libmcrypt-2.5.8/
# ./configure
#make && make install
  (4)安装libxml2

#tar -xvf libxml2-2.7.8.tar.gx
#cd libxml2-2.7.8/
#./configure
#make && make install
  (5)建立软连接

# ln -sv /usr/local/lib/libmcrypt* /usr/lib/
# ln -sv /usr/local/lib/libmhash* /usr/lib/
# ln -sv /usr/local/lib/libiconv* /usr/lib/
2.安装GD
  (1)安装zlib

# tar -xvf zlib-1.2.11.tar.gz
# cd zlib-1.2.11/
# ./configure --prefix=/usr/local/zlib --shared --enable-shared
#make && make install
  (2)安装libpng

# tar -xvf libpng-1.6.34.tar.gz
# cd libpng-1.6.34/
# ./configure --prefix=/usr/local/libpng
#make && make install
  (3)安装freetype

# tar -xvf freetype-2.3.11.tar.gz
# cd freetype-2.3.11/
# ./configure --prefix=/usr/local/freetype
#make && make install
  (4)安装jpeg

# tar -xvf jpegsrc.v9b.tar.gz
# cd jpeg-9b/
# ./configure --prefix=/usr/local/jpeg --enable-shared --enable-static
#make && make install
  (5)安装libwebp

# tar -xvf libwebp-0.6.1.tar.gz
# cd libwebp-0.6.1/
# ./configure --prefix=/usr/local/libwebp --enable-libwebpmux --enable-libwebpdemux --enable-libwebpdecoder --enable-libwebpextras --enable-swap-16bit-csp --disable-static
#make && make install
  (6)安装gd

# tar -xvf libgd-2.2.5.tar.gz
# cd libgd-2.2.5/
# ./configure --prefix=/usr/local/libgd --with-zlib=/usr/local/zlib/ --with-png=/usr/local/libpng/ --with-freetype=/usr/local/freetype/ --with-jpeg=/usr/local/jpeg/
#make && make install
3.安装php

#tar -xvf php-7.2.0.tar.gz
#cd php-7.2.0/
#./configure --prefix=/node/php7 --with-mysql=/node/mysql --enable-fpm --enable-mbstring --with-mcrypt --with-mhash --with-curl --with-config-file-path=/node/php7/etc --with-mysqli=/node/mysql/bin/mysql_config --enable-gd-native-ttf --enable-sockets --enable-bcmath --with-zlib-dir=/usr/local/zlib/ --with-jpeg-dir=/usr/local/jpeg/ --with-freetype-dir=/usr/local/freetype/ --with-png-dir=/usr/local/libpng/ --with-webp-dir=/usr/local/libwebp/ --with-xpm-dir=/usr/ --with-iconv=/usr/ --with-gd
#make
#make install
四.构建LNMP平台

1.构建php-fpm
  (1)拷贝并修改php-fpm配置文件

# cd /node/php7/etc/
# cp php-fpm.conf.default php-fpm.conf
#vim php-fpm.conf
[global]
pid = run/php-fpm.pid
error_log = log/php-fpm.log
log_level = error
daemonize = yes
# cd php-fpm.d/
# cp www.conf.default www.conf
#vim www.conf
user = www
group = www
pm = dynamic
pm.max_children = 32
pm.start_servers = 15
pm.min_spare_servers = 5
pm.max_spare_servers = 32
  (2)拷贝php-fpm启动文件

# cp /node/installfile/php/php-7.2.0/sapi/fpm/init.d.php-fpm /etc/init.d/php-fpm
# chmod +x /etc/init.d/php-fpm
# groupadd www
# useradd -s /sbin/nologin -g www www
  (3)设置开机启动

# chkconfig --add php-fpm
# chkconfig php-fpm on
  (4)启动php-fpm

# /etc/init.d/php-fpm start
Starting php-fpm  done
# ps aux |grep  php
2.修改nginx配置文件支持php

# vim /node/nginx-1.12.2/conf/nginx.conf
location / {
root   html;
index  index.php index.html index.htm;
}
location ~ \.php$ {
root           html;
fastcgi_pass   127.0.0.1:9000;
fastcgi_index  index.php;
fastcgi_param  SCRIPT_FILENAME  $document_root$fastcgi_script_name;
include        fastcgi_params;
}
  # nginx -s reload  //重新加载nginx

3. 修改php配置文件,支持zabbix
  # cp /node/installfile/php/php-7.2.0/php.ini-development /node/php7/etc/php.ini

# vim /node/php7/etc/php.ini
date.timezone = Asia/Shanghai
max_execution_time = 300
max_input_time = 300
post_max_size = 64M
memory_limit = 128M
mbstring.func_overload = 0
五.安装zabbix_server

1.安装依赖
  # yum -y install OpenIPMI OpenIPMI-devel ipmitool freeipmi net-snmp* libcurl* libevent*

2.安装zabbix

# tar -xvf zabbix-3.4.3.tar.gz
# cd zabbix-3.4.3/
# ./configure --prefix=/node/zabbix-3.4.3 --enable-server --enable-agent --with-mysql=/node/mysql/bin/mysql_config --with-net-snmp --with-libcurl --with-openipmi
#make && make install
3.创建数据库并导入数据

# mysql -uroot -p
mysql> set password for 'root'@'localhost'=password('123456');
mysql> create database zabbix character set utf8;
mysql> grant all on zabbix.* to 'zabbix'@'localhost' identified by 'zabbix';
4.导入数据

# cd /node/installfile/zabbix/zabbix-3.4.3/database/mysql/
# mysql -uzabbix -pzabbix zabbix < schema.sql
# mysql -uzabbix -pzabbix zabbix < images.sql
# mysql -uzabbix -pzabbix zabbix < data.sql
5.创建启动环境
  (1)创建用户

# groupadd zabbix
# useradd -s /sbin/nologin -g zabbix zabbix
  (2)创建日志文件目录

# mkdir /var/log/zabbix
# chown -R zabbix.zabbix /var/log/zabbix/
  (3)创建软链接

# ln -sv /node/zabbix-3.4.3/etc /etc/zabbix
# ln -sv /node/zabbix-3.4.3/bin/* /usr/bin/
# ln -sv /node/zabbix-3.4.3/sbin/* /usr/sbin/
  (4)拷贝启动脚本
# cp /node/installfile/zabbix/zabbix-3.4.3/misc/init.d/fedora/core/zabbix_* /etc/init.d/
修改启动脚本中的安装路径

# vim /etc/zabbix/zabbix_server.conf
BASEDIR=/node/zabbix-3.4.3
  (5)添加端口信息

# vim /etc/services
zabbix-agent    10050/tcp               #zabbix agent
zabbix-agent    10050/udp               #zabbix agent
zabbix-server   10051/tcp               #zabbix server
zabbix-server   10051/udp               #zabbix server
  (6)修改zabbix-server配置文件

# vim /etc/zabbix/zabbix_server.conf
LogFile=/var/log/zabbix/zabbix_server.log
DBName=zabbix
DBUser=zabbix
DBPassword=zabbix
  (7)拷贝web页面

# cp -r /node/installfile/zabbix/zabbix-3.4.3/frontends/php  /node/nginx-1.12.2/html/zabbix
# chown -R nginx.nginx /node/nginx-1.12.2/
6.启动zabbix-server

# chkconfig --add zabbix_server
# chkconfig zabbix_server on
# /etc/init.d/zabbix_server start
7.Web页面安装zabbix
  http://ip/zabbix
可能会显示php少模块,再编译安装进去即可
#yum -y install autoconf m4
(1)安装ldap
# yum -y install  openldap
#yum install openldap-devel

# cp /usr/lib64/libldap* /usr/lib/
# cd /node/installfile/php/php-7.2.0/ext/ldap/
# /node/php7/bin/phpize
# ./configure --with-ldap --with-php-config=/node/php7/bin/php-config
#make && make install
  (2)安装gettext

#cd /node/installfile/php/php-7.2.0/ext/gettext
# /node/php7/bin/phpize
# ./configure  --with-php-config=/node/php7/bin/php-config
#make && make install
  (3)在php.ini配置文件中增加模块

# vim /node/php7/etc/php.ini
extension=gettext.so
extension=ldap.so
  (4)重启php-fpm
# /etc/init.d/php-fpm restart

六.Zabbix安装完成
  通过web页面进行配置后,进入登陆页面:
http://ip/zabbix/index.php
用户名:admin
密码:zabbix





运维网声明 1、欢迎大家加入本站运维交流群:群②:261659950 群⑤:202807635 群⑦870801961 群⑧679858003
2、本站所有主题由该帖子作者发表,该帖子作者与运维网享有帖子相关版权
3、所有作品的著作权均归原作者享有,请您和我们一样尊重他人的著作权等合法权益。如果您对作品感到满意,请购买正版
4、禁止制作、复制、发布和传播具有反动、淫秽、色情、暴力、凶杀等内容的信息,一经发现立即删除。若您因此触犯法律,一切后果自负,我们对此不承担任何责任
5、所有资源均系网友上传或者通过网络收集,我们仅提供一个展示、介绍、观摩学习的平台,我们不对其内容的准确性、可靠性、正当性、安全性、合法性等负责,亦不承担任何法律责任
6、所有作品仅供您个人学习、研究或欣赏,不得用于商业或者其他用途,否则,一切后果均由您自己承担,我们对此不承担任何法律责任
7、如涉及侵犯版权等问题,请您及时通知我们,我们将立即采取措施予以解决
8、联系人Email:admin@iyunv.com 网址:www.yunweiku.com

所有资源均系网友上传或者通过网络收集,我们仅提供一个展示、介绍、观摩学习的平台,我们不对其承担任何法律责任,如涉及侵犯版权等问题,请您及时通知我们,我们将立即处理,联系人Email:kefu@iyunv.com,QQ:1061981298 本贴地址:https://www.yunweiku.com/thread-664622-1-1.html 上篇帖子: zabbix专题:第三章 Zabbix Agent客户端安装详解 下篇帖子: zabbix 自定义discovery
您需要登录后才可以回帖 登录 | 立即注册

本版积分规则

扫码加入运维网微信交流群X

扫码加入运维网微信交流群

扫描二维码加入运维网微信交流群,最新一手资源尽在官方微信交流群!快快加入我们吧...

扫描微信二维码查看详情

客服E-mail:kefu@iyunv.com 客服QQ:1061981298


QQ群⑦:运维网交流群⑦ QQ群⑧:运维网交流群⑧ k8s群:运维网kubernetes交流群


提醒:禁止发布任何违反国家法律、法规的言论与图片等内容;本站内容均来自个人观点与网络等信息,非本站认同之观点.


本站大部分资源是网友从网上搜集分享而来,其版权均归原作者及其网站所有,我们尊重他人的合法权益,如有内容侵犯您的合法权益,请及时与我们联系进行核实删除!



合作伙伴: 青云cloud

快速回复 返回顶部 返回列表