sudo lsb_release -r
可以看到操作系统版本是20.04
,sudo uname -r
可以看到内核版本是5.5.19
。
sudo apt-get update
进行更新镜像源。
完成之后,如下图:
sudo apt-get upgrade -y
更新软件。
选择NO
,按下Enter。
完成如下:
MySQL安装
sudo wget https://cdn.mysql.com/archives/mysql-8.0/mysql-server_8.0.31-1ubuntu20.04_amd64.deb-bundle.tar
下载MySQL文件。
sudo mkdir /mysql8
创建目录。
sudo tar -xf mysql-server_8.0.31-1ubuntu20.04_amd64.deb-bundle.tar -C /mysql8
进行解压。
需要使用到的安装命令如下:
sudo dpkg -i /mysql8/mysql-community-client-plugins_8.0.31-1ubuntu20.04_amd64.deb
sudo dpkg -i /mysql8/mysql-community-client-core_8.0.31-1ubuntu20.04_amd64.deb
sudo dpkg -i /mysql8/mysql-common_8.0.31-1ubuntu20.04_amd64.deb
sudo dpkg -i /mysql8/mysql-community-client_8.0.31-1ubuntu20.04_amd64.deb
sudo dpkg -i /mysql8/libmysqlclient21_8.0.31-1ubuntu20.04_amd64.deb
sudo dpkg -i /mysql8/libmysqlclient-dev_8.0.31-1ubuntu20.04_amd64.deb
sudo apt install -y libmecab2
sudo dpkg -i /mysql8/mysql-community-server-core_8.0.31-1ubuntu20.04_amd64.deb
sudo dpkg -i /mysql8/mysql-client_8.0.31-1ubuntu20.04_amd64.deb
sudo dpkg -i /mysql8/mysql-community-server_8.0.31-1ubuntu20.04_amd64.deb
需要输入密码
接下来就是上边命令图文安装步骤:
sudo dpkg -i /mysql8/mysql-community-client-plugins_8.0.31-1ubuntu20.04_amd64.deb
sudo dpkg -i /mysql8/mysql-community-client-core_8.0.31-1ubuntu20.04_amd64.deb
sudo dpkg -i /mysql8/mysql-common_8.0.31-1ubuntu20.04_amd64.deb
sudo dpkg -i /mysql8/mysql-community-client_8.0.31-1ubuntu20.04_amd64.deb
sudo dpkg -i /mysql8/libmysqlclient21_8.0.31-1ubuntu20.04_amd64.deb
sudo dpkg -i /mysql8/libmysqlclient-dev_8.0.31-1ubuntu20.04_amd64.deb
sudo apt install -y libmecab2
sudo dpkg -i /mysql8/mysql-community-server-core_8.0.31-1ubuntu20.04_amd64.deb
sudo dpkg -i /mysql8/mysql-client_8.0.31-1ubuntu20.04_amd64.deb
sudo dpkg -i /mysql8/mysql-community-server_8.0.31-1ubuntu20.04_amd64.deb
进行安装,提示输入密码。
输入密码之后,需要用↓
选中ok
按回车键。
之后再次输入密码。
然后按下→
选中<ok>
再次按下回车键。
然后按下→
选中<ok>
按下回车键。
执行完成如下图:
sudo systemctl start mysql
进行启动,systemctl status mysql
可以看到状态是active (running)
。
Redis源码安装
sudo wget https://download.redis.io/releases/redis-6.2.13.tar.gz
下载源代码。
sudo mkdir /rediscode
创建一个新目录,sudo tar -xf redis-6.2.13.tar.gz -C /rediscode/
把源码解压到/rediscode/
里边。
cd /rediscode/redis-6.2.13/
进入到源代码里边。
sudo make
进行编译。
完成之后如下图:
sudo sed -i '/^# requirepass/a\requirepass GoodLearn123' /rediscode/redis-6.2.13/redis.conf
在以# requirepass
开头的内容下一行插入requirepass GoodLearn123
,sudo cat -n /rediscode/redis-6.2.13/redis.conf | sudo grep requirepass
查看一下上边插入情况。
sudo nohup /rediscode/redis-6.2.13/src/redis-server /rediscode/redis-6.2.13/redis.conf &>> /rediscode/redis-6.2.13/nohup.out &
后台启动。
Categraf v0.3.22部署
wget https://github.com/flashcatcloud/categraf/releases/download/v0.3.22/categraf-v0.3.22-linux-amd64.tar.gz
下载安装包。
sudo mkdir -p /opt/categraf
创建一个目录。
sudo tar zxf categraf-v0.3.22-linux-amd64.tar.gz -C /opt/categraf
进行解压。
sudo /opt/categraf/categraf-v0.3.22-linux-amd64/categraf --test
先进行测试。
Ctrl+c可以退出。
sudo nohup /opt/categraf/categraf-v0.3.22-linux-amd64/categraf &> /opt/categraf/stdout.log &
正式启动categraf
。
victoria-metrics安装
sudo wget https://github.com/VictoriaMetrics/VictoriaMetrics/releases/download/v1.90.0/victoria-metrics-linux-amd64-v1.90.0.tar.gz
下载victoria-metrics
。
sudo mkdir /opt/victoria-metrics
创建目录,sudo tar xf victoria-metrics-linux-amd64-v1.90.0.tar.gz -C /opt/victoria-metrics/
进行解压。
sudo nohup /opt/victoria-metrics/victoria-metrics-prod &>> /opt/victoria-metrics/victoria.log &
启动victoria-metrics-prod
。
sudo ps -aux | grep victoria-metrics-prod
有三条数据,说明正常启动。
Prometheus安装
sudo wget -c https://github.com/prometheus/prometheus/releases/download/v2.37.1/prometheus-2.37.1.linux-amd64.tar.gz
下载必要的组件。
tar -zxf prometheus-2.37.1.linux-amd64.tar.gz
解压文件,然后ls -l prometheus-2.37.1.linux-amd64
可以看一下解压之后的文件内容。
sudo cat <<EOF >/etc/systemd/system/prometheus.service
把下边的内容都写进去,每敲一行按一下回车键,最后别忘了输入EOF
作为结束字符串(EOF
不会写入到文件中):
[Unit]
Description="prometheus"
Documentation=https://prometheus.io/
After=network.target
[Service]
Type=simple
ExecStart=/root/prometheus-2.37.1.linux-amd64/prometheus --config.file=/root/prometheus-2.37.1.linux-amd64/prometheus.yml --storage.tsdb.path=/root/prometheus-2.37.1.linux-amd64/data --web.enable-lifecycle --enable-feature=remote-write-receiver --query.lookback-delta=2m --web.enable-admin-api
Restart=on-failure
SuccessExitStatus=0
LimitNOFILE=65536
StandardOutput=syslog
StandardError=syslog
SyslogIdentifier=prometheus
[Install]
WantedBy=multi-user.target
cat /etc/systemd/system/prometheus.service
看一下文件里边内容。
sudo systemctl start prometheus
开启服务,sudo systemctl status prometheus
可以看到服务的状态是active (running)
。
二进制部署Nightingale v6.1.0
sudo wget https://download.flashcat.cloud/n9e-v6.1.0-linux-amd64.tar.gz
下载Nightingale
。
mkdir /opt/n9e && tar -zxf n9e-v6.1.0-linux-amd64.tar.gz -C /opt/n9e
创建一个/opt/n9e
目录,并把相关文件解压到/opt/n9e
里边。
chmod 700 /opt/n9e
把读写执行权限赋予文件属主。
cd /opt/n9e
进入到目录里边。
sed -i 's/# Password = ""/Password = "GoodLearn123"/g' /opt/n9e/etc/config.toml
把# Password = ""
替换成Password = "GoodLearn123"
。
sed -n '/Password = "GoodLearn123"/p' /opt/n9e/etc/config.toml
看一下替换情况。
mysql -uroot -pGood#1103 < /opt/n9e/n9e.sql
初始化MySQL数据库里边数据。
sed -i 's/root:1234/root:Good#1103/g' /opt/n9e/etc/config.toml
使用root
用户,密码改为Good#1103
。
sed -n '/root:Good#1103/p' /opt/n9e/etc/config.toml
查看一下修改情况。
sudo sed -i 's#9090/api/v1/write#8428/api/v1/write#g' /opt/n9e/etc/config.toml
把9090/api/v1/write
改成8428/api/v1/write
。
sudo sed -n '/8428\/api/p' /opt/n9e/etc/config.toml
查看一下修改情况。
sudo nohup /opt/n9e/n9e &>> /opt/n9e/n9e.log &
后台运行
ss -tlnp|grep 17000
查看一下监控端口状态,有信息就说明正常启动了。
在浏览器里边输入ip:17000
进入如下页面:
默认用户名为root
,默认密码是root.2020
,输入正确之后,进入如下页面。
选择系统配置
菜单,然后选择数据源
,在Prometheus Like
底下点击添加
。
需要填写的信息如下:
名称:localVictoriaMetrics
(可以按照自己的需求填写)
URL:http://localhost:8428
Remote Write URL:http://localhost:8428/api/v1/write
点击时序指标
,然后选择即时查询
。
cpu_usage_iowait
输入到搜索框里边,然后选择Graph
,之后点击查询
。
上边是我第一次启动,没有什么问题,但是我第二次sudo nohup /opt/n9e/n9e &>> /opt/n9e/n9e.log &
启动的时候,ss -tlnp|grep 17000
查看一下监控端口状态,发现提示的信息是[1]+ Exit 1 sudo nohup /opt/n9e/n9e &>> /opt/n9e/n9e.log
,这表明没有正常启动。
cat /opt/n9e/n9e.log
可以看到里边的内容如下:
nohup: ignoring input
runner.cwd: /opt/n9e
runner.hostname: hecs-141123
runner.fd_limits: (soft=65535, hard=65535)
runner.vm_limits: (soft=unlimited, hard=unlimited)
2023/09/25 15:46:53 main.go:36: failed to initialize: dialector() not supported
可以先使用cd /opt/n9e
进入到夜莺etc
目录所在的目录,然后再执行sudo nohup /opt/n9e/n9e &>> /opt/n9e/n9e.log &
,使用ss -tlnp|grep 17000
可以看到LISTEN 0 1024 *:17000 *:* users:(("n9e",pid=55859,fd=10))
的信息,这是启动成功了。
kill -9 55858 55859
把上边两个进程关闭,然后使用下边的解决方法再试一下。
使用sudo nohup /opt/n9e/n9e -configs /opt/n9e/etc &>> /opt/n9e/n9e.log &
进行启动,-configs
后边跟着的是夜莺的etc
目录绝对路径。使用ss -tlnp|grep 17000
可以看到启动成功了。
此文章为9月Day 24学习笔记,内容来源于极客时间《运维监控系统实战笔记》。