Zabbix服务器监控环境搭建

Posted 梦年运维

tags:

篇首语:本文由小常识网(cha138.com)小编为大家整理,主要介绍了Zabbix服务器监控环境搭建相关的知识,希望对你有一定的参考价值。

这几天小编在研究这个玩意,因为公司需要,所以网上找了好多材料进行完善这个项目,分享一下自己的小知识,废话不多说,开始进入正题。


Zabbix服务器监控环境搭建



搭建zabbix,需要mysqlnginxphp环境。


MySQL小编使用的是MariaDB数据库,新手第一次玩推荐使用yum包安装,编译安装会有很多问题,我表示搭建了三次,才成功,编译两次,yun一次。


MariaDB



前言

MariaDB数据库管理系统是MySQL的一个分支,主要由开源社区在维护,采用GPL授权许可 MariaDB的目的是完全兼容MySQL,包括API和命令行,使之能轻松成为MySQL的代替品。在存储引擎方面,使用XtraDB(英语:XtraDB)来代替MySQLInnoDB MariaDBMySQL的创始人Michael Widenius(英语:Michael Widenius)主导开发,他早前曾以10亿美元的价格,将自己创建的公司MySQL AB卖给了SUN,此后,随着SUN被甲骨文收购,MySQL的所有权也落入Oracle的手中。MariaDB名称来自Michael Widenius的女儿Maria的名字

MariaDB基于事务的Maria存储引擎,替换了MySQLMyISAM存储引擎,它使用了Percona XtraDBInnoDB的变体,分支的开发者希望提供访问即将到来的MySQL 5.4 InnoDB性能。这个版本还包括了 PrimeBase XT (PBXT) FederatedX存储引擎

1.系统版本说

[root@vultr ~]#

[root@vultr ~]# cat /etc/redhat-release

CentOS Linux release 7.5.1804 (Core)

[root@vultr ~]# uname -r

3.10.0-862.3.2.el7.x86_64

[root@vultr ~]#

 

2.安装编译工具、依赖

yum -y install readline-devel zlib-developenssl-devel libaio-devel cmake bison ncurses-devel make autoconf automakecurl curl-devel gcc gcc-c++ gtk+-devel zlib-devel openssl openssl-develpcre-devel perl kernel-headers compat* cpp glibc libgomp libstdc++-develkeyutils-libs-devel libsepol-devel libselinux-devel krb5-devel libXpm* freetypefreetype-devel freetype* fontconfig fontconfig-devel libpng* ncurses* libtool*libxml2-devel bison libaio-devel

 

3.创建MySQL用户和目

groupadd -r mysql                                #创建mysql用户组

useradd -g mysql -s /sbin/nologin mysql          #创建mysql用户及归属组

mkdir /usr/local/mysql                           #创建安装目录

mkdir -p /data/mysql                             #创建数据存放目录

chown -R mysql:mysql /data/mysql/                #给予权限

 

4.下载解压MariaDB

tar zxvf mariadb-10.1.18.tar.gz

cd mariadb-10.1.18/

cmake . -DCMAKE_INSTALL_PREFIX=/usr/local/mysql-DMYSQL_DATADIR=/data/mysql -DSYSCONFDIR=/etc -DWITHOUT_TOKUDB=1-DMYSQL_UNIX_ADDR=/tmp/mysql.sock -DDEFAULT_CHARSET=utf8-DDEFAULT_COLLATION=utf8_general_ci

make && make install

 

部分编译参数解释

·     -DCMAKE_INSTALL_PREFIX 安装目

·     -DMYSQL_DATADIR 数据库存放目

·     -DSYSCONFDIR 配置文件目录(具体 /etc/my.cnf

·     -DWITH_INNOBASE_STORAGE_ENGINE 支持数据库innobase

·     -DWITH_ARCHIVE_STORAGE_ENGINE 支持数据库archive

·     -DWITH_BLACKHOLE_STORAGE_ENGINE 支持数据库blackhole存储引

·     -DDEFAULT_CHARSET 支持字符

·     -DDEFAULT_COLLATION 排序规则校验字

·     -DENABLED_LOCAL_INFILE 允许本地导入数

注意在源码包里进行cmake。如果遇到错误 rm -f CMakeCache.txt 并删除缓存重新配置。配置完成结果

5.初始化数据

cd /usr/local/mysql/

chown -R mysql:mysql .

scripts/mysql_install_db--datadir=/data/mysql --user=mysql

chown -R root .

cp support-files/mysql.server/etc/init.d/mysqld

 

 

6.加入开机启

chkconfig --add mysqld

chkconfig mysqld on

 

7.配置my.cnf

mkdir /var/log/mariadb

chown -R mysql:mysql /var/log/mariadb/

chown mysql.mysql -R /data/mysql

chown -R mysql:mysql /var/lib/mysql/

 

vim /etc/my.cnf

 

datadir=/data/mysql

socker=/tmp/mysql.sock

 

/etc/init.d/mysqld start systemctl start mysqld.service                 #启动MySQL

8.创建软连

ln -s /usr/local/mysql/bin/mysql/usr/local/sbin/

ls -l /usr/local/sbin/mysql

 

9.配置数据库密

mysql -u root -p

 

mysql>set password =password('你的密码');

mysql>flush privileges;

mysql>grant all privileges on *.* toroot@'%' identified by '你的密码' with grant option;

mysql>flush privileges;

 

 

 

 

Nginx


前言

Nginx是一个异步框架的Web服务器,也可以用作反向代理,负载平衡器 HTTP缓存。该软件由IgorSysoev 创建,并于2004年首次公开发布。同名公司成立于2011年,以提供支持。Nginx是一款免费的开源软件,根据类BSD许可证的条款发布

 

1.系统版本说

[root@vultr ~]# 
[root@vultr ~]# cat /etc/redhat-release 
CentOS Linux release 7.5.1804 (Core) 
[root@vultr ~]# uname -r
3.10.0-862.3.2.el7.x86_64
[root@vultr ~]# 
 

 

2.安装编译工具、依赖

  yum -y install gcc gcc-c++ autoconf automake make zlib zlib-devel openssl openssl-devel pcre pcre-devel

以上安装的是一些主要的依赖包,具体可根据自己情况或者报错信息提示安装或修

 

3.创建用户和

  useradd -M -s /sbin/nologin nginx

新建的用户组和用户主要是在编译配置的时候指定nginx运行的用户和用户组。这样指定后以后配置使用也方便

 

4.下载解压nginx

cd /data/                                                     #解压安装路径为/data
wget  http://nginx.org/download/nginx-1.12.2.tar.gz           #下载地址
tar zxvf nginx-1.12.2.tar.gz                                  #解压

 

5.编译安

cd /data/nginx-1.12.2
./configure --user=nginx --group=nginx --prefix=/data/nginx --with-http_stub_status_module --with-http_ssl_module --with-http_v2_module --with-http_gzip_static_module --with-http_sub_module
make && make install
 

 

6.添加环境变

ln -sv /data/nginx/sbin/nginx /usr/local/sbin

 

7.设置systemctl脚本启

vim /usr/lib/systemd/system/nginx.service
 
[Unit]
Description=nginx
After=network.target
[Service]
Type=forking
PIDFile=/data/nginx/logs/nginx.pid
ExecStart=/data/nginx/sbin/nginx
ExecReload=/data/nginx/sbin/nginx -s reload
ExecStop=/data/nginx/sbin/nginx -s stop
PrivateTmp=true
[Install]
WantedBy=multi-user.target
 

8.启动NGINX

systemctl start nginx

 

9.给防火墙添加80

firewall-cmd --zone=public --add-port=80/tcp --permanent

 

10.最后访问测试

 

在浏览器输入http://IP

 

 

 

 

PHP


前言

PHP(外文名:PHP:Hypertext Preprocessor,中文名:超文本预处理器)是一种通用开源脚本语言。语法吸收了C语言、JavaPerl的特点,利于学习,使用广泛,主要适用于Web开发领域。PHP以其开发源代码,免费,快捷,跨平台,高效,面向对象,强大的动态图像创建等功能深受广大开发者的喜爱。本文描述基于CentOS 7.5下编译安装PHP 7.2.3

 

1.系统版本说

[root@vultr ~]# 
[root@vultr ~]# cat /etc/redhat-release 
CentOS Linux release 7.5.1804 (Core) 
[root@vultr ~]# uname -r
3.10.0-862.3.2.el7.x86_64
[root@vultr ~]#

 

2.安装编译工具、依赖

yum install libxml2 libxml2-devel openssl openssl-devel bzip2 bzip2-devel libcurl libcurl-devel libjpeg libjpeg-devel libpng libpng-devel freetype freetype-devel gmp gmp-devel libmcrypt libmcrypt-devel readline readline-devel libxslt libxslt-devel –y

 

3.下载解压PHP

cd /data
 
tar zxvf php-7.2.3.tar.gz
 
cd php-7.2.3/
 
./configure --prefix=/data/php --with-config-file-path=/etc --enable-fpm --enable-inline-optimization --disable-debug --disable-rpath --enable-shared --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 --enable-gd-jis-conv --with-gettext --with-gmp --with-mhash --enable-json --enable-mbstring --enable-mbregex --enable-mbregex-backtrack --with-libmbfl --with-onig --enable-pdo --with-mysqli=mysqlnd --with-pdo-mysql=mysqlnd --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
 
make && make install
 
cp php.ini-production /etc/php.ini
 
cp /data/php/etc/php-fpm.conf.default /data/php/etc/php-fpm.conf
 
cp /data/php/etc/php-fpm.d/www.conf.default /data/php/etc/php-fpm.d/www.conf
 
cp sapi/fpm/init.d.php-fpm /etc/init.d/php-fpm
 
chmod +x /etc/init.d/php-fpm
 

 

4.配置环境变

vim /etc/profile
 
在末尾加
 
PATH=$PATH:/data/php/bin
export PATH
 
 

执行命令使得改动立即生

source /etc/profile

 

5.启动PHP

/etc/init.d/php-fpm start

 

 

 

 

 

Zabbix

 

下载源码包

wget -Ozabbix-3.4.2.tar.gz http://sourceforge.net/projects/zabbix/files/ZABBIX%20Latest%20Stable/3.4.2/zabbix-3.4.2.tar.gz/download

 

安装依赖包

yum -yinstall net-snmp-devel libxml2-devel libcurl-deve libevent libevent-devel mysql-devel

 

解压并编译

tar -zxf zabbix-3.4.2.tar.gz
cd zabbix-3.4.2
./configure --prefix=/usr/local/zabbix --enable-server --enable-agent --with-mysql --enable-ipv6 --with-net-snmp --with-libcurl --with-libxml2

 

 

安装

make&& make install

 

 

创建zabbix用户和用户组

groupadd zabbix
useradd -r -g zabbix zabbix
cd /usr/local && chown -R zabbix:zabbix zabbix

 

创建zabbix数据库,并导入表结构

mysql -uroot -p
mysql> create database if not exists zabbix default character set utf8 collate utf8_general_ci;
mysql> use zabbix;
mysql> source /data/zabbix-3.4.2/database/mysql/schema.sql;
mysql> source /data/zabbix-3.4.2/database/mysql/images.sql;
mysql> source /data/zabbix-3.4.2/database/mysql/data.sql;
mysql> grant all on zabbix.* to 'zabbix'@'localhost' identified by 'zabbix' with grant option;
mysql> flush privileges;

 

 

创建日志目录

# cd /usr/local/zabbix
# mkdir logs
# chown zabbix:zabbix logs

 

修改zabbix_server.conf

# vim /usr/local/zabbix/etc/zabbix_server.conf
 
LogFile=/usr/local/zabbix/logs/zabbix_server.log
PidFile=/tmp/zabbix_server.pid
DBHost=localhost
DBName=zabbix
DBUser=zabbix
DBPassword=zabbix
DBSocket=/tmp/mysql.sock
Include=/usr/local/zabbix/etc/zabbix_server.conf.d/*.conf

 

 

修改zabbix_agentd.conf

# vim /usr/local/zabbix/etc/zabbix_agentd.conf
 
PidFile=/tmp/zabbix_agentd.pid
LogFile=/usr/local/zabbix/logs/zabbix_agentd.log
Include=/usr/local/zabbix/etc/zabbix_agentd.conf.d/*.con

 

 

启动zabbix_serverzabbix_agent服务

# /usr/local/zabbix/sbin/zabbix_server
# /usr/local/zabbix/sbin/zabbix_agent

 

 

拷贝WEB应用程序

# mv /tmp/zabbix-3.4.2/frontends/php/ /www/html/
# chown -R www:www /www/html/

 

2、访问zabbixhttp://ip/zabbix/index.php,初始化安装的默认账号:Admin,密码:zabbix

 

 

安装zabbixweb

完成安装,会将在/etc/zabbix/web/zabbix.conf.php生成配置文件

 

 

界面检查配置出错

错误1

·        Minimum required size of PHP post is 16M (configuration option"post_max_size").

·        Minimum required limit on execution time of PHP scripts is 300(configuration option "max_execution_time").

·        Minimum required limit on input parse time for PHP scripts is 300(configuration option "max_input_time").

·        Time zone for PHP is not set (configuration parameter"date.timezone").

·        PHP option "always_populate_raw_post_data" must be set to"-1"



这一步默认的php.ini一般都有错误:
修改/usr/local/php/etc/php.ini即可解决
    post_max_size = 16M
    max_execution_time = 300
    max_input_time = 300
    date.timezone = "Asia/Shanghai"
    always_populate_raw_post_data = -1
重启php-fpm即可

 

 

 

错误2:

Install

Cannot create the configuration file.

Details

Unable to create the configuration file.

下载那个页面,然后上传到/usr/local/nginx/zabbix/conf下(网页有提升具体路径

 

 

Zabbix-agent安装及配置

groupadd zabbix

useradd -g zabbix -m zabbix

rpm -ivh http://repo.zabbix.com/zabbix/3.4/rhel/7/x86_64/zabbix-release-3.4-1.el7.centos.noarch.rpm

 

yum install zabbix-agent –y

配置zabbix-agent

/etc/zabbix/zabbix_agentd.conf

 

systemctl start zabbix-agent.service

systemctl enable zabbix-agent.service


以上是所有代码,有任何问题可以随时联系我,最后的最后分享一个美照。


Zabbix服务器监控环境搭建


请各位少男靓女转发,关注!!!

Zabbix服务器监控环境搭建



Zabbix服务器监控环境搭建






以上是关于Zabbix服务器监控环境搭建的主要内容,如果未能解决你的问题,请参考以下文章

Zabbix监控环境搭建实现7x24监控服务

zabbix分布式监控环境搭建

zabbix监控环境的搭建

zabbix服务器搭建

zabbix服务器搭建

搭建zabbix监控系统