之所以部署LNMP平台,是因为Zabbix服务是php脚本开发。并且需要将收集到的数据保存在数据库里,和将收集到的数据实时的展示在web前端上。因此,我们全部使用源码包构建LNMP平台。
[root@cc ~]# yum -y install openssl-devel pcre-devel gcc gcc-c++ make //安装依赖包 [root@cc ~]# useradd nginx //创建进程属主 [root@cc ~]# tar -xf nginx-1.10.1.tar.gz //解包 [root@cc ~]# cd nginx-1.10.1 [root@cc ~]# ./configure --user=nginx --prefix=/usr/local/nginx --group=nginx --with-http_ssl_module //配置 [root@cc ~]# make && make install //编译和安装 [root@cc ~]# /usr/local/nginx/sbin/nginx //启动服务 [root@cc ~]# echo "www.dcc.com" > /usr/local/nginx/html/index.html //配置网站主页 [root@cc ~]# curl http://192.168.4.50 www.dcc.com
[root@cc ~]# tar -xf mysql-5.6.30-linux-glibc2.5-x86_64.tar.gz //解包 [root@cc ~]# cd mysql-5.6.30-linux-glibc2.5-x86_64/ [root@cc ~]# useradd mysql [root@cc ~]# mv mysql-5.6.30-linux-glibc2.5-x86_64 /usr/local/mysql [root@cc ~]# yum -y install perl-Data-Dumper.x86_64 //安装依赖包 [root@cc ~]# cd /usr/local/mysql/scripts [root@cc ~]# ./mysql_install_db --basedir=/usr/local/mysql --datadir=/usr/local/mysql/data --user=mysql //装包 [root@cc ~]# chown -R mysql:mysql /usr/local/mysql/ //赋予进程属主权限 [root@cc ~]# ln -s /usr/local/mysql/bin /usr/sbin [root@cc ~]# echo "export PATH=/usr/local/mysql/bin:$PATH" >> /etc/profile [root@cc ~]# source /etc/profile [root@cc ~]# cd /usr/local/mysql/support-files/ [root@cc ~]# cp mysql.server /etc/init.d/mysql [root@cc ~]# chmod +x /etc/init.d/mysql [root@cc ~]# cp /usr/local/mysql/support-files/my.cnf.default /etc/my.cnf [root@cc ~]# /etc/init.d/mysql start [root@cc ~]# mysql -uroot create database zabbixdb; //创建存放监控系统信息的数据库 grant all on zabbix.* to cc@'localhost' identified by
'123456'; //授权登陆创建数据库的用户
[root@cc ~]# yum -y install php-gd.x86_64 freetype* libjpeg-devel libxml2-devel libpng-devel [root@cc ~]# tar -xf php-5.6.22.tar.gz [root@cc ~]# cd php-5.6.22 [root@cc ~]# ./configure --prefix=/usr/local/php5/ --enable-fpm --enable-mbstring --enable-bcmath --enable-sockets --with-config-file-path=/usr/local/php5/etc --with-mysql=/usr/local/mysql/ --with-mysqli=/usr/local/mysql/bin/mysql_config --with-gd --with-gettext --with-jpeg-dir --with-freetype-dir //配置 [root@cc ~]# make && make install //编译和安装 [root@cc ~]# cp php.ini-production /usr/local/php5/etc/php.ini [root@cc ~]# vim /usr/local/php5/etc/php.ini //修改php.ini date.timezone = Asia/Shanghai max_execution_time = 300 post_max_size = 32M max_input_time = 300 memory_limit = 128M always_populate_raw_post_data = -1 [root@cc ~]# cd /usr/local/php5/etc/ [root@cc ~]# cp php-fpm.conf.default php-fpm.conf //生成php-fpm主配置文件 [root@cc ~]# /etc/init.d/php-fpm start //启动服务
[root@cc ~]# useradd zabbix //添加用户 [root@cc ~]# tar -xf zabbix-3.2.3.tar.gz //解包 [root@cc ~]# cd zabbix-3.2.3/ [root@cc ~]# ./configure --prefix=/usr/local/zabbix --enable-server --enable-agent --with-mysql=/usr/local/mysql/bin/mysql_config //配置 [root@cc ~]# make && make install //编译和安装 [root@cc ~]# cp -r frontends/php/ /usr/local/nginx/html/zabbix //生成监控服务器根目录 [root@cc ~]# cd database/mysql/ [root@cc ~]# mysql -ucc -p123456 zabbixdb < schema.sql //导入监控服务器材存储监控数据的表 [root@cc ~]# mysql -ucc -p123456 zabbixdb < images.sql [root@cc ~]# mysql -ucc -p123456 zabbixdb < data.sql [root@cc ~]# chown -R nobody:nobody /usr/local/nginx/html/zabbix/ [root@cc ~]# http://192.168.4.100/zabbix/index.php //客户端访问
/usr/local/nginx/html/zabbix/conf/zabbix.conf.php
$DB['TYPE'] = 'MYSQL';
$DB['SERVER'] = 'localhost';
$DB['PORT'] = '0';
$DB['DATABASE'] = 'zabbixdb';
$DB['USER'] = 'cc';
$DB['PASSWORD'] = '123456';
$ZBX_SERVER = '192.168.4.50';
$ZBX_SERVER_PORT = '10051';
$ZBX_SERVER_NAME = 'zabbixo';
[root@cc ~]# cd zabbix-3.2.3/misc/init.d/fedora/core/ [root@cc ~]# cp * /etc/init.d/ [root@cc ~]# chmod +x /etc/init.d/zabbix_* [root@cc ~]# vim /etc/init.d/zabbix_server BASEDIR=/usr/local/zabbix [root@cc ~]# vim /etc/init.d/zabbix_agentd BASEDIR=/usr/local/zabbix [root@cc ~]# vim /usr/local/zabbix/etc/zabbix_server.conf
87 DBName=zabbixdb 103 DBUser=cc 111 DBPassword=123456 [root@cc ~]# /etc/init.d/zabbix_server start [root@cc ~]# netstat -utnlap | grep :10051 [root@cc ~]# vim /usr/local/zabbix/etc/zabbix_agentd.conf
91 Server=127.0.0.1
132 ServerActive=127.0.0.1:10051 [root@cc ~]# /etc/init.d/zabbix_agentd start [root@cc ~]# netstat -utnlap | grep :10050
2.按提示填入 Name、Groups、IP ,其他选项默认即可。在Link Templates 处选择一个模板。save 即可成功添加设备。
3.在 Configuration->Hosts 中会出现监控的主机。 4.重启监控服务端的服务/etc/init,d/zabbix_server restart 。查看ZBX是否加亮。加亮则可查看监控状态。 结果如图:
绘图界面如下:
2 被监控主机创建自定义监控命令
自定义的key文件一般存储在/etc/zabbix/zabbix_agentd.conf.d/目录,这里还需要修改zabbix_agentd.conf文件,来读取该目录下的所有文件 。
3.设置Zabbix监控控制台 1添加模版 通过Configuration-->Template-->Create template创建模板
2.创建应用 点击模板后面的Application链接 3.创建项目 选择Create items创建项目 4.给项目设置名称及对应的自定义key 5.将模板链接到被监控主机 6.如图:
监控主页如图:
[root@cc ~]# wc -l /etc/passwd
47 [root@cc ~]# su - zabbix [zabbix@cc ~]# mail
收取邮件的结果测试如下:
邮件内容如下: Message 8: From root@localhost.localdomain Fri May 19 20:43:53 2017 Return-Path: root@localhost.localdomain X-Original-To: zabbix@localhost Delivered-To: zabbix@localhost.localdomain From: root@localhost.localdomain To: zabbix@localhost.localdomain Date: Fri, 19 May 2017 20:43:53 +0800 Subject: more_users Content-Type: text/plain; charset="UTF-8" Status: RO The current users is more than your configure.&
1.防火墙默认区域设置为trusted 2.selinux 设置为 disabled 3.源码安装包时指定进程的属主,属组。 4./usr/local/nginx/html/zabbix 目录必须使得nginx 的属主和属组具有访问权限,否则页面没有权限,显示403 forbidden 5.所有需要安装的依赖包必须安装。重点不要忘记 freetype 包。 6.创建自定义监控项时,必须修改zabbix_agentd.conf 来读取自定义的监控命令文件。
原创声明:本文系作者授权腾讯云开发者社区发表,未经许可,不得转载。
如有侵权,请联系 cloudcommunity@tencent.com 删除。
原创声明:本文系作者授权腾讯云开发者社区发表,未经许可,不得转载。
如有侵权,请联系 cloudcommunity@tencent.com 删除。