LNMP(centos+nginx+php7.4+mysql)+zabbix源码编译部署,并在grafana添加zabbix模块

LNMP环境:
1、centos7.8
2、nginx-1.19.2
3、php74(zabbix5.1需要php7.2以上的版本)
4、mysql-5.7.17(也可以用mariadb)
5、zabbix-5.0.1
6、需要链接互联网

链接:https://pan.baidu.com/s/1AE5mo_tBEky71O14NcbORA
提取码:52r4

主机:
192.168.226.134 vm134 zabbix-server
192.168.226.135 vm135 zabbix-agent
192.168.226.136 vm136 zabbix-agent

所有主机环境:
1、关闭selinux和firewalld
2、配置/etc/hosts
vim /etc/hosts
192.168.226.135 vm135
192.168.226.134 vm134
192.168.226.136 vm136

一、部署nginx
1、通过xshell或其他方式把nginx的tar包上传到vm134的/opt下

[root@vm134 ~]# yum -y install gcc pcre-devel  openssl-devel
[root@vm134 ~]# cd  /opt
[root@vm134 opt]# tar  -xf  nginx-1.19.2.tar.gz
[root@vm134 opt]# cd nginx-1.19.2/
[root@vm134 nginx-1.19.2]#  ./configure --with-http_ssl_module
[root@vm134 nginx-1.19.2]#  make  && make  install
[root@vm134 nginx-1.19.2]# cd /usr/local/nginx/
[root@vm134 nginx]# sbin/nginx
[root@vm134 nginx]# netstat -tunlp | grep nginx
[root@vm134 nginx]# sbin/nginx -s stop

2、在http里添加以下内容,include是启用子配置文件,前面的是缓存链接的优化

[root@vm134 nginx]# vim conf/nginx.conf 

http {
............
fastcgi_buffers 8 16k;
fastcgi_buffer_size 32k;
fastcgi_connect_timeout 300;
fastcgi_send_timeout 300;
fastcgi_read_timeout 300;
include /usr/local/nginx/conf/conf.d/*.conf;
}

3、常见子配置文件

[root@vm134 nginx]#  mkdir  conf/conf.d
[root@vm134 nginx]#  vim conf/conf.d/zabbix-9000.conf
server{
listen 80;
server_name 192.168.226.134;     #这里的ip也可以换成域名地址(需要了解云服务器相关配置)
location ~ \.php$ {
    root           html;
    fastcgi_pass   127.0.0.1:9000;   #转发到php-fpm服务
    fastcgi_index  index.php;
    include        fastcgi.conf;
}
}

4、验证是否能正常启动

[root@vm134 nginx]# sbin/nginx
[root@vm134 nginx]# netstat -tunlp | grep nginx

二、部署php74
1、配置一个第三方的php7.4的remi源:

[root@vm134 ~]#  yum install http://rpms.remirepo.net/enterprise/remi-release-7.rpm

2、通过yum来安装php,并安装相关的一些模块:

[root@vm134 ~]#  yum install -y php74-php-fpm php74-php-cli php74-php-bcmath php74-php-gd php74-php-json php74-php-mbstring php74-php-mcrypt php74-php-mysqlnd php74-php-opcache php74-php-pdo php74-php-pecl-crypto php74-php-pecl-mcrypt php74-php-pecl-geoip php74-php-recode php74-php-snmp php74-php-soap php74-php-xml php74-php-imagick php74-php-pecl-zip  php74-php-redis php74-php-swoole

3、验证php74

[root@vm134 ~]# systemctl start php74-php-fpm.service
[root@vm134 ~]# systemctl enable php74-php-fpm.service
[root@vm134 ~]# netstat -tunlp | grep php

三、部署mysql
1、部署mysql并启动:

[root@vm134 ~]# mkdir  /opt/mysql5.7
[root@vm134 ~]#  cd  /opt/mysql5.7
[root@vm134 mysql5.7]#  tar -xf  mysql-5.7.17.tar     #需要手动上传mysql的包到本目录下
[root@vm134 mysql5.7]#  yum  -y install  mysql-community-*       #安装mysql
[root@vm134 mysql5.7]#  systemctl start mysqld
[root@vm134 mysql5.7]#  systemctl enable mysqld

2、查寻初始化密码并登录mysql

[root@vm134 mysql5.7]# grep "password" /var/log/mysqld.log   #查寻mysql的初始化密码为6DwmKR=G9Pzy (根据个人情况,密码不同,显示如下:)

2020-10-09T07:03:39.320371Z 1 [Note] A temporary password is generated for root@localhost: 6DwmKR=G9Pzy 
[root@vm134 mysql5.7]# mysql -uroot -p6DwmKR=G9Pzy    #登录mysql

mysql: [Warning] Using a password on the command line interface can be insecure.
Welcome to the MySQL monitor.  Commands end with ; or \g.
Your MySQL connection id is 9409
Server version: 5.7.17 MySQL Community Server (GPL)

Copyright (c) 2000, 2016, Oracle and/or its affiliates. All rights reserved.

Oracle is a registered trademark of Oracle Corporation and/or its
affiliates. Other names may be trademarks of their respective
owners.

Type 'help;' or '\h' for help. Type '\c' to clear the current input statement.

mysql> 
mysql> alter user root@"localhost" identified by "123qwe...Q";    #修改密码后才能进行其他操作。
Query OK, 0 rows affected (0.25 sec)
mysql> exit
Bye

四、部署zabbix5.0
1、部署zabbix

[root@vm134 ~]# yum -y install net-snmp-devel curl-devel libevent-devel  #部署zabbix依赖包
[root@vm134 ~]# cd /opt/
[root@vm134 opt]# tar -xf zabbix-5.0.1.tar.gz    #也需要提前上传tar包到本目录下
[root@vm134 opt]# cd zabbix-5.0.1
[root@vm134 zabbix-5.0.1]# ./configure --enable-server --enable-proxy --enable-agent --with-mysql=/usr/bin/mysql_config --with-net-snmp --with-libcurl

备注:
// --enable-server安装部署zabbix服务器端软件
// --enable-agent安装部署zabbix被监控端软件
// --enable-proxy安装部署zabbix代理相关软件
// --with-mysql配置mysql_config路径
// --with-net-snmp允许zabbix通过snmp协议监控其他设备
// --with-libcurl安装相关curl库文件,这样zabbix就可以通过curl连接http等服务,测试被监控主机服务的状态

进行编译安装:

[root@vm134 zabbix-5.0.1]# make &&  make install

2、创建zabbix数据库和用户

[root@vm134 zabbix-5.0.1]# mysql -uroot -p123qwe...Q
mysql: [Warning] Using a password on the command line interface can be insecure.
Welcome to the MySQL monitor.  Commands end with ; or \g.
Your MySQL connection id is 9655
Server version: 5.7.17 MySQL Community Server (GPL)

Copyright (c) 2000, 2016, Oracle and/or its affiliates. All rights reserved.

Oracle is a registered trademark of Oracle Corporation and/or its
affiliates. Other names may be trademarks of their respective
owners.

Type 'help;' or '\h' for help. Type '\c' to clear the current input statement.

mysql>
mysql> create database zabbix character set utf8 collate utf8_bin;
mysql> grant all on zabbix.* to zabbix@'localhost' identified by '123qwe...Q';
mysql> exit

3、导入zabbix数据表(tar包里解压的)

[root@vm134 zabbix-5.0.1]# cd database/mysql/
[root@vm134 mysql]# ls
data.sql  double.sql  images.sql  Makefile  Makefile.am  Makefile.in  schema.sql

注意导入数据的顺序,ls后,从最后向前面导入。

[root@vm134 mysql]# mysql -uzabbix -p123qwe...Q zabbix < schema.sql 
[root@vm134 mysql]# mysql -uzabbix -p123qwe...Q zabbix < images.sql
[root@vm134 mysql]# mysql -uzabbix -p123qwe...Q zabbix < data.sql
[root@vm134 mysql]# cd /opt/zabbix-5.0.1/ui    #zabbix默认web页面位置,源码包自带
[root@vm134 ui]# cp -r * /usr/local/nginx/html/
[root@vm134 ui]# chmod -R 777 /usr/local/nginx/html/

4、修改zabbix-server配置文件

[root@vm134 zabbix-5.0.1]# vim /usr/local/etc/zabbix_server.conf
DBHost=localhost      #数据库主机,默认该行被注释
DBName=zabbix       #设置数据库名称
DBUser=zabbix         #设置数据库账户
DBPassword=zabbix     #设置数据库密码,默认该行被注释
LogFile=/tmp/zabbix_server.log      #设置日志,仅查看以下即可

5、创建zabbix用户并启动

[root@vm134 zabbix-5.0.1]# useradd -s /sbin/nologin zabbix
[root@vm134 zabbix-5.0.1]# zabbix_server
[root@vm134 zabbix-5.0.1]# netstat -tunlp | grep zabbix

6、修改zabbix-agent配置文件

[root@vm134 zabbix-5.0.1]# vim /usr/local/etc/zabbix_agentd.conf
Server=127.0.0.1,192.168.226.134                    #允许哪些主机监控本机
ServerActive=127.0.0.1,192.168.226.134                #允许哪些主机通过主动模式监控本机
Hostname=zabbix_server                        #设置本机主机名
LogFile=/tmp/zabbix_server.log               #设置日志文件
UnsafeUserParameters=1                       #是否允许自定义key
[root@vm134 zabbix-5.0.1]# zabbix_agentd
[root@vm134 zabbix-5.0.1]# netstat -tunlp | grep zabbix

7、登录zabbix首页配置web环境:
http://192.168.226.134/index.php
登录后会提示php相关配置错误,可根据提示修改:

[root@vm134 zabbix-5.0.1]#  vim  /etc/opt/remi/php74/php.ini
date.timezone = Asia/Shanghai                #设置时区
max_execution_time = 300                    #最大执行时间,秒
post_max_size = 32M                        #POST数据最大容量
max_input_time = 300                        #服务器接收数据的时间限制
memory_limit = 128M                        #内存容量限制
[root@vm134 zabbix-5.0.1]# systemctl restart php74-php-fpm.service      #修改完成后重启

8、刷新web环境页面,php报错项目变成正常的。
备注:PHP LDAP是warning状态是没有问题的,可以忽略,点下一步后对数据库链接配置:
按照图片配置相应内容
再对zabbix服务器链接进行配置:
1、Host填写zabbix-server的ip,如果是本机不要写localhost
2、Port填写zabbix-server的端口
3、name随意填写
完成后点击下一步:
登录验证:(需要区分大小写)
默认用户:Admin
默认密码:Zabbix

9、部署zabbix-agent(vm135和vm136都操作)

[root@vm135 ~]# useradd -s /sbin/nologin zabbix
[root@vm135 ~]# yum -y install gcc pcre-devel
[root@vm135 ~]# cd /opt
[root@vm135 opt]# tar -xf  zabbix-5.0.1.tar.gz
[root@vm135 opt]# cd zabbix-5.0.1
[root@vm135 zabbix-5.0.1]#  ./configure --enable-agent
[root@vm135 zabbix-5.0.1]# make && make install

10、修改zabbix-agent配置文件(vm135和vm136都操作)

[root@vm135 zabbix-5.0.1]# vim /usr/local/etc/zabbix_agentd.conf
Server=127.0.0.1,192.168.226.134                #谁可以监控本机(被动监控模式)
ServerActive=127.0.0.1,192.168.226.134           #谁可以监控本机(主动监控模式)
Hostname=zabbixclient_web1                 #被监控端自己的主机名
EnableRemoteCommands=1    
#监控异常后,是否允许服务器远程过来执行命令,如重启某个服务
UnsafeUserParameters=1                     #是否允许自定义key监控
[root@vm135 zabbix-5.0.1]# zabbix_agentd
[root@vm135 zabbix-5.0.1]# netstat -tunlp | grep zabbix

五、通过浏览器设置监控主机
登录http://192.168.226.134/index.php
1、输入账户和密码后在最左边点击最下面的user settings
——language——chinese(zh_CN)——update来切换成中文界面。在这里插入图片描述
2、配置——主机——创建主机
在这里插入图片描述
在这里插入图片描述
在这里插入图片描述
在这里插入图片描述
在这里插入图片描述
在这里插入图片描述
在这里插入图片描述
在这里插入图片描述
3、在选择主机群组时可以根据个人需要来选择,这里只是以Template OS Linux by Prom为例。
在完成以上添加主机后,就可在检测里看到图型展示了:
在这里插入图片描述
六、部署grafana并添加zabbix插件
源码包准备:
1、go1.15.2.linux-amd64.tar.gz
链接:https://pan.baidu.com/s/1eXaod2uqob7u1rVYa7pkuw
提取码:9kiw

2、grafana-7.2.0.linux-amd64.tar.gz
链接:https://pan.baidu.com/s/1M_ss4liktXorxG5LjEcvvg
提取码:sfv6

3、部署go

[root@vm134 ~]#  cd /opt
[root@vm134 opt]# tar -xf  go1.15.2.linux-amd64.tar.gz
[root@vm134 opt]# mv go /usr/local/
[root@vm134 opt]# vim /etc/profile      #在最末尾添加
export PATH=$PATH:/usr/local/go/bin
[root@vm134 opt]#  source /etc/profile

4、部署grafana

[root@vm134 ~]#  cd /opt
[root@vm134 opt]# tar -xf  grafana-7.2.0.linux-amd64.tar.gz
[root@vm134 opt]# mv grafana-7.2.0 /usr/local/grafana
[root@vm134 opt]# vim /usr/local/grafana/conf/defaults.ini
http_port = 3000        #grafana的登录端口设置
[root@vm134 opt]# cd /usr/local/grafana
[root@vm134 grafana]# bin/grafana-server &    #&是指放入后台启动grafana
[root@vm134 grafana]# netstat -tunlp | grep grafana    #查看是否3000端口启动了

5、登录验证
http://192.168.226.134:3000
默认用户:admin
默认密码:admin123
在这里插入图片描述

6、在grafana里添加zabbix模块插件

链接:https://pan.baidu.com/s/1PTpk7Zc_dgvL3tzDM8nuPQ
提取码:yta1

[root@vm134 ~]# cd /usr/local/grafana/plugins-bundled
[root@vm134 plugins-bundled]# unzip  alexanderzobnin-zabbix-app-4.0.1.zip   #解压zabbix插件到本目录下
[root@vm134 plugins-bundled]# cd /usr/local/grafana
[root@vm135 grafana]# netstat -tunlp | grep grafana   #查寻grafana的进程号
tcp6       0      0 :::3000                 :::*                    LISTEN      30428/./grafana-ser
[root@vm134 grafana]# kill -9 30428   #杀掉grafana的进程
[root@vm134 grafana]# bin/grafana-server &     #再启动

7、在grafana里配置zabbix插件
登录:http://192.168.226.134:3000
在这里插入图片描述
在这里插入图片描述
添加监控项:
在这里插入图片描述
在这里插入图片描述
8、配置grafana插件页面注意:
1、name位置可以随意填写
2、URL位置是zabbix-server主机上nginx的位置(/usr/local/nginx/html/api_jsonrpc.php),因为是用的nginx作的php解析,所有直接写:http://192.168.226.134/api_jsonrpc.php
3、access需要选择browser
4、zabbix API details填写zabbix-server的web页面登录用户密码。
5、最后点击保存即可验证了。
在这里插入图片描述
开启显示图形模版:下图是已经开启的
在这里插入图片描述
9、验证
在这里插入图片描述

在这里插入图片描述
在这里插入图片描述
七、部署中遇到的坑(排错)
1、注意selinux和firewalld要关闭
2、因为用tar包解压用的和cp的文件注意权限chmod
3、数据库创建zabbix库时要用utf8,不然在后面配置grafana时会报链接数据库错误(博主就是坑这里后久)
4、在配置URL的时候一定注意在nginx下的html是否有api_jsonrpc.php,没有的话可以从zabbix源码包的ui目录下拷贝过来,注意赋予权限。
5、注意每台主机要创建一个zabbix用户。

  • 2
    点赞
  • 9
    收藏
    觉得还不错? 一键收藏
  • 2
    评论
抱歉,我是一个AI语言模型,无法为您提供可靠的Linux脚本。但是,以下是一个简单的脚本,用于在Linux上自动部署LNMP和WordPress: ```bash #!/bin/bash # Update and upgrade packages sudo apt-get update sudo apt-get upgrade -y # Install Nginx sudo apt-get install nginx -y # Install MySQL sudo apt-get install mysql-server -y # Install PHP and related modules sudo apt-get install php-fpm php-mysql php-gd php-xml php-curl php-mbstring -y # Configure Nginx sudo rm /etc/nginx/sites-available/default sudo cat > /etc/nginx/sites-available/default <<EOF server { listen 80 default_server; listen [::]:80 default_server; root /var/www/html; index index.php index.html index.htm; server_name _; location / { try_files $uri $uri/ /index.php?$args; } location ~ \.php$ { include snippets/fastcgi-php.conf; fastcgi_pass unix:/var/run/php/php7.0-fpm.sock; } } EOF # Restart Nginx sudo systemctl restart nginx # Create WordPress database and user mysql -u root -p <<EOF CREATE DATABASE wordpress; CREATE USER 'wordpressuser'@'localhost' IDENTIFIED BY 'password'; GRANT ALL PRIVILEGES ON wordpress.* TO 'wordpressuser'@'localhost'; FLUSH PRIVILEGES; EOF # Download and extract WordPress cd /var/www/html sudo curl -O https://wordpress.org/latest.tar.gz sudo tar -zxvf latest.tar.gz sudo rm latest.tar.gz # Configure WordPress cd /var/www/html/wordpress sudo mv wp-config-sample.php wp-config.php sudo sed -i "s/database_name_here/wordpress/g" wp-config.php sudo sed -i "s/username_here/wordpressuser/g" wp-config.php sudo sed -i "s/password_here/password/g" wp-config.php # Set permissions sudo chown -R www-data:www-data /var/www/html/wordpress sudo chmod -R 755 /var/www/html/wordpress # Clean up sudo apt-get autoclean sudo apt-get autoremove -y ``` 请注意,这只是一个简单的脚本,可能需要根据您的配置进行修改。在运行脚本之前,请确保备份您的数据并了解脚本的工作原理。

“相关推荐”对你有帮助么?

  • 非常没帮助
  • 没帮助
  • 一般
  • 有帮助
  • 非常有帮助
提交
评论 2
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包
实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

1.余额是钱包充值的虚拟货币,按照1:1的比例进行支付金额的抵扣。
2.余额无法直接购买下载,可以购买VIP、付费专栏及课程。

余额充值