Zabbix服务器监控环境搭建
Posted 梦年运维
tags:
篇首语:本文由小常识网(cha138.com)小编为大家整理,主要介绍了Zabbix服务器监控环境搭建相关的知识,希望对你有一定的参考价值。
这几天小编在研究这个玩意,因为公司需要,所以网上找了好多材料进行完善这个项目,分享一下自己的小知识,废话不多说,开始进入正题。
MySQL小编使用的是MariaDB数据库,新手第一次玩推荐使用yum包安装,编译安装会有很多问题,我表示搭建了三次,才成功,编译两次,yun一次。
MariaDB
前言:
MariaDB数据库管理系统是MySQL的一个分支,主要由开源社区在维护,采用GPL授权许可 MariaDB的目的是完全兼容MySQL,包括API和命令行,使之能轻松成为MySQL的代替品。在存储引擎方面,使用XtraDB(英语:XtraDB)来代替MySQL的InnoDB。 MariaDB由MySQL的创始人Michael Widenius(英语:Michael Widenius)主导开发,他早前曾以10亿美元的价格,将自己创建的公司MySQL AB卖给了SUN,此后,随着SUN被甲骨文收购,MySQL的所有权也落入Oracle的手中。MariaDB名称来自Michael Widenius的女儿Maria的名字。
MariaDB基于事务的Maria存储引擎,替换了MySQL的MyISAM存储引擎,它使用了Percona的 XtraDB,InnoDB的变体,分支的开发者希望提供访问即将到来的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语言、Java和Perl的特点,利于学习,使用广泛,主要适用于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_server和zabbix_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、访问zabbix:http://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服务器监控环境搭建的主要内容,如果未能解决你的问题,请参考以下文章