LNMP+Zabbix部署监控--可视化监控数据状态详解

Zabbix部署

一、LNMP安装环境

1、安装nginx1.14

wget http://nginx.org/packages/centos/7/noarch/RPMS/nginx-release-centos-7-0.el7.ngx.noarch.rpm

#需要搭配本地源,千万不要移动到别的地方
vim /etc/yum.repos.d/nginx.repo
#手动创建nginx yum安装源

[nginx]
name=nginx repo
baseurl=http://nginx.org/packages/centos/7/$basearch/
gpgcheck=0
enabled=1

其中baseurl=http/nginx.org/packages/OS/OSRELEASE/$basearch/,把"” OS”替换成” rhel”或" centos”,把” OSRELEASE”替换成”6”或”7”
yum clean all
yum list

yum install nginx -y	#安装nginx,默认为nginx-1.12.2
systemctl start nginx
systemctl enable nginx

#检查防火墙是否关闭

试访问192.168.171.7

mark

2、安装mysql 5.7

yum install -y mariadb-server mariadb

systemctl enable mariadb.service
systemctl start mariadb.service

mysql_secure_installation  #会进入设置阶段

具体操作

Enter current password for root (enter for none):   #回车
OK, successfully used password, moving on...

Setting the root password ensures that nobody can log into the MariaDB
root user without the proper authorisation.

Set root password? [Y/n] y    #属入y
New password:    #设置密码
Re-enter new password:  	#再次密码
Password updated successfully!
Reloading privilege tables..
 ... Success!

Remove anonymous users? [Y/n] n   #n不删除匿名用户
 ... skipping.

Normally, root should only be allowed to connect from 'localhost'.  This
ensures that someone cannot guess at the root password from the network.

Disallow root login remotely? [Y/n] n  #n允许远程登录
 ... skipping.

By default, MariaDB comes with a database named 'test' that anyone can
access.  This is also intended only for testing, and should be removed
before moving into a production environment.

Remove test database and access to it? [Y/n] n	#n不删除测试数
 ... skipping.


Reload privilege tables now? [Y/n] y    #y重新加载刷新
 ... Success!

Cleaning up...

All done!  If you've completed all of the above steps, your MariaDB
installation should now be secure.

Thanks for using MariaDB!

验证密码是否设置成功

mysql -uroot -p

mark

3、安装php 7.2

rpm -Uvh https://dl.fedoraproject.org/pub/epel/epel-release-latest-7.noarch.rpm
或
yum install epel-release -y  (没成功)

#yum仓库建立
rpm -Uvh https://mirror.webtatic.com/yum/el7/webtatic-release.rpm 

#yum源等待时间取决于网络
yum install -y php72w php72w-devel php72w-fpm php72w-gd php72w-mbstring php72w-mysql

php -v 
#查看php版本

4、配置nginx支持php

vim /etc/php-fpm.d/www.conf 
#修改php-fpm配置文件。把apache改为nginx

//8 user = nginx
//10 group = nginx

mark

vim /etc/nginx/conf.d/default.conf
#配置location,在index中添加index.php。以支持index.php的首页

#第10行  index  index.php index.html index.htm;

#第30~36行     

#配置php请求被传送到后端的php-fpm模块
#默认情况下php配置块是被注释的,去掉注释并修改

#把fastcgi_param中的/scripts改为$document_root。root是配置php程序放置的根目录。

location ~ \.php$ {
          root           /usr/share/nginx/html;
          fastcgi_pass   127.0.0.1:9000;
          fastcgi_index  index.php; 
          fastcgi_param  SCRIPT_FILENAME  $document_root$fastcgi_scri    pt_name;
          include        fastcgi_params;
      }

mark

5、配置PHP

vim /etc/php.ini

#359行  expose_php = Off    //隐藏php版本
#202行  short_open_tag = On   //支持php短标签

---以下为zabbix配置要求---
#368行  max_execution_time = 300  //执行时间
#378行  max_input_time = 300    //接收数据等待时间
#389行  memory_limit = 128M    //每个脚本占用内存
#656行  post_max_size = 16M    //POST数据大小
#799行  upload_max_filesize = 2M //下载文件大小
#800行添加 always_populate_raw_post_data = -1  //可以用 $HTTP_RAW_POST_DATA 接收post raw data
#877行  date.timezone = Asia/Shanghai  //时区


systemctl start php-fpm.service 
systemctl enable php-fpm.service 

systemctl restart nginx

6、测试首页

vim /usr/share/nginx/html/info.php

<?php
 phpinfo();
?>

访问192.168.171.7/info.php

mark

扫描二维码关注公众号,回复: 13108915 查看本文章

7、测试连接数据库

mark

vim /usr/share/nginx/html/info.php

<?php
$link=mysqli_connect('127.0.0.1','root','abc123');
if ($link) echo "连接成功!!!";
else echo "连接失败!!!";
?>

注:mysql_connect扩展自 PHP 5.5.0 起已废弃,改用mysqli或pdo_mysql

http://192.168.171.7/info.php

mark

8、准备安装Zabbix操作

mysql -uroot -pabc123

CREATE DATABASE zabbix character set utf8 collate utf8_bin;

GRANT all privileges ON *.* TO 'zabbix'@'%' IDENTIFIED BY 'admin123';

flush privileges;

#collate的作用
对于mysql中那些字符类型的列,如VARCHAR,CHAR,TEXT类型的列,都需要有一个COLLATE类型来告知mysql如何对该列进行排序和比较。
show databases;
vim /usr/share/nginx/html/info.php

<?php
$link=mysqli_connect('127.0.0.1','zabbix','admin123');
if ($link) echo "Zabbix数据库连接成功!";
else echo "Zabbix数据库连接失败!";
?>

mark

解决以上连接失败的办法

mysql -uroot -pabc123

select user,host from mysql.user; 

drop user ''@localhost;      

drop user ''@localhost.localdomain;      

select user,host from mysql.user;

mark

二、部署Zabbix Server

zabbix 官网 https://www.zabbix.com/download

1、安装yum源

rpm -i https://repo.zabbix.com/zabbix/4.0/rhel/7/x86_64/zabbix-release-4.0-1.el7.noarch.rpm

#警告:/var/tmp/rpm-tmp.ReqDjI: 头V4 RSA/SHA512 Signature, 密钥 ID a14fe591: NOKEY

2、安装所需环境包

yum install zabbix-server-mysql zabbix-web-mysql zabbix-agent -y

3、更改配置文件

vim /etc/zabbix/zabbix_server.conf 

38:LogFile=/var/log/zabbix/zabbix_server.log
49:LogFileSize=0
72:PidFile=/var/run/zabbix/zabbix_server.pid
82:SocketDir=/var/run/zabbix
91:DBHost=localhost                //注释去掉
100:DBName=zabbix
116:DBUser=zabbix
124:DBPassword=admin123           //设置zabbix密码
356:SNMPTrapperFile=/var/log/snmptrap/snmptrap.log
473:Timeout=4
516:AlertScriptsPath=/usr/lib/zabbix/alertscripts
527:ExternalScripts=/usr/lib/zabbix/externalscripts
563:LogSlowQueries=3000

#检查配置文件
grep -n '^'[a-Z] /etc/zabbix/zabbix_server.conf 

4、详细优化(可不选)

修正图表中文乱码(可不配)

vim /usr/share/zabbix/include/defines.inc.php
:%s /graphfont/kaiti/g    
#同时按住shift与:键

从微软系统下复制相应的字体文件到 /usr/share/zabbix/fonts 目录中注意字体名称要对应配置文件,且注意大小写(可不配)

cp STKAITI.TTF /usr/share/zabbix/fonts/

5、赋予权限

setenforce 0
#一定要关闭!

cp -r /usr/share/zabbix/ /usr/share/nginx/html/
chown -R zabbix:zabbix /etc/zabbix
chown -R zabbix:zabbix /usr/share/nginx/
chown -R zabbix:zabbix /usr/lib/zabbix/
#处理指定目录以及其子目录下的所有文件

chmod -R 755 /etc/zabbix/web/
chmod -R 777 /var/lib/php/session/
#归修改文件权限

6、生成数据库文件并查看

密码是数据库的密码

zcat /usr/share/doc/zabbix-server-mysql*/create.sql.gz | mysql -uzabbix -p zabbix

mysql -uzabbix -p
use zabbix;
show tables;

quit

mark

修改时区

vim /etc/httpd/conf.d/zabbix.conf

#20行     php_value date.timezone Asia/Shanghai
systemctl start zabbix-server.service
systemctl enable zabbix-server.service 
systemctl start zabbix-agent.service 
systemctl enable zabbix-agent.service

netstat -anpl | grep 10051

systemctl restart php-fpm.service
systemctl restart nginx

mark

7、安装登录验证

http://192.168.171.7/zabbix/

**用户名:Admin **

密码:zabbix

mark

mark

mark

mark

mark

mark

授权并重启服务

chown zabbix.zabbix /etc/zabbix/web/zabbix.conf.php

systemctl restart zabbix-server.service

最后登录

mark

mark

mark

三、部署Zabbix agent

网络配置环境

#清空防火墙规则,关闭核心防护

iptables -F
setenforce 0

#关闭网络管理

systemctl stop NetworkManager
systemctl disable NetworkManager

安装配置Zabbix

rpm -i https://repo.zabbix.com/zabbix/4.0/rhel/7/x86_64/zabbix-release-4.0-1.el7.noarch.rpm

yum install -y zabbix-agent

修改配置文件

vim /etc/zabbix/zabbix_agentd.conf

PidFile=/var/run/zabbix/zabbix_agentd.pid
LogFile=/var/log/zabbix/zabbix_agentd.log
LogFileSize=0
...
Server=192.168.171.7		#指向监控服务器  98行
ServerActive=192.168.171.7 	#指问监控服务器  139行
Hostname=test1                  #指定名称   150行
Include=/etc/zabbix/zabbix_agentd.d/*.conf

---下一步---
systemctl start zabbix-agent.service && systemctl enable zabbix-agent.service

netstat -ntap |grep 'zabbix'

mark

四、Zabbix监控

mark

创建主机

mark

mark

mark

mark

mark

mark

mark

  • 现在可以监听httpd sshd 服务
  • 有问题会显示到web界面

查看监控数据

mark

mark

可以点击右下角“图形”切换视图

mark

猜你喜欢

转载自blog.csdn.net/Gloomyumenge/article/details/115388809