监控工具夜莺V6部署纯净版

摘要

本文实践采用的是夜莺V6 + VictoriaMetrics + Categraf的纯正标准组合,且采用最推荐的二进制部署方式,在CentOS 8环境从零搭建而成。夜莺的官方文档已经非常详实友好了,鉴于其各部有些分散,一些重要配置与最新版本有所差异,撰此文以飨同仁。

物料准备

这套环境一共需要Nightingale V6(运维监控带页面的夜莺本尊)+VictoriaMetrics(存数据的)+Categraf(采数据的苦工)+ Mysql (存放配置类信息)+ Redis (令牌、心跳等)。

版本信息

核心三件均为撰文时的最新发布版。

组件名版本
Nightingale6.3.1
VictoriaMetrics1.93.6
Categraf0.3.36
MySQL8.x
Redis5.x
CentOS8.x

物理环境为x86_64架构,也即amd64.

下载直通车

开始安装

1.MySQL

我的环境里已经安装过了。没安装的小伙伴:

# install mysql
yum -y install mariadb*
systemctl enable mariadb
systemctl restart mariadb
mysql -e "SET PASSWORD FOR 'root'@'localhost' = PASSWORD('1234');"
  • 这里的1234是可修改的密码,信息安全形势日渐严峻,请不要在内网或者生产环境使用这种弱密码,养成好习惯,从我做起。
  • 在论坛看到说改了这个密码导致无法打开页面,或者说改了这里要修改很多配置的,这都是谬论。首先,我使用的是已经存在的mysql,密码是改过的也能用;其次,改了这个密码,在配置文件里也只需要修改一行,并不麻烦!

2. Redis

如果你有现成的redis也可以拿来用,否则的话:

# install redis
yum install -y redis
systemctl enable redis
systemctl restart redis
  • Redis 的默认端口号是6379
  • 我这个环境也修改了这个端口号

3. Nightingale + VictoriaMetrics + Categraf 三联

如果前面都整好了,以下安装启动过程3分钟搞定。

# 创建个 n9e 的目录,后面把 n9e 相关的文件解压到这里
mkdir -p /opt/n9e && cd /opt/n9e
tar zxvf n9e-v6.3.1-linux-amd64.tar.gz
# 如果你的mysql在其他主机上,就把n9e.sql复制到mysql安装节点,执行
mysql -uroot -p密码 < n9e.sql
# 修改n9e配置文件里的mysql地址和密码,redis地址和端口号,分别第89行和第107行!
vim etc/config.toml
​
# 启动 n9e,先使用 nohup 简单测试,如果需要 systemd 托管,请自行准备 service 文件
nohup ./n9e &> n9e.log &
# 检查 n9e.log 是否有异常日志,检查端口是否在监听,正常应该监听在 17000
ss -tlnp|grep 17000
​
# 安装启动victoria-metrics
tar zxvf victoria-metrics-linux-amd64-v1.93.6.tar.gz
nohup ./victoria-metrics-prod &> stdout.log &
# 确认端口监听
ss -tlnp|grep 8428
​
# 安装/配置启动categraf,先解压
tar zxvf categraf-v0.3.36-linux-amd64.tar.gz
# cd到解压的目录修改配置,一个是heartbeat、一个是writers主要修改那个17000端口也就是夜莺的安装地址!
# 高版本的categraf可以直接这样启动和停止,很方便
sudo ./categraf  --install
sudo ./categraf  --start
sudo ./categraf  --status
踩坑总结
  1. 打不开夜莺页面,但是17000端口监听正常,一度去注册论坛搜索无果,最后发现是浏览器版本过低导致的,升级浏览器解决了;

  2. 日志有个访问github version失败的报错?一开始访问不了页面有个这样的ERROR,但这个其实无所谓,内网本来就访问不了;

  3. VM安装后确认那里,官网把查询端口命令写错写成了12632;

  4. categraf默认配置的地址都是本地的,建议直接写成夜莺所在机器的实际IP,这样把categraf拷贝到其他机器就能直接启动了,比如我的夜莺所在节点IP为192.168.1.123

    [heartbeat]
    enable = true
    url = "http://192.168.1.123:17000/v1/n9e/heartbeat"
    ……
    [[writers]]
    url = "http://192.168.1.123:17000/prometheus/v1/write"
    

    官网有说,夜莺的地址都是:127.0.0.1:17000,因为我的 Categraf 和 夜莺 在一台机器上,如果你的 Categraf 和夜莺在不同的机器,注意改成合适的 IP。

配置使用

  1. 浏览器访问:http://夜莺IP:17000,如我的是“http://192.168.1.123:17000”。

  2. 登录页面输入默认的用户名root 密码root.2020

  3. 【系统配置】–>【数据源】–>【Prometheus Like】–> 【添加】。

  4. 名称填写“VM001”,自定义任何有意义的名称即可。

  5. URL填写“http://VM-IP:8428”,例如我写的是“http://192.168.1.123:8428”。

  6. 相比原文档UI已经改变,与文档有差异的是以下两项:

    Remote Write URL: http://192.168.1.123:8428/api/v1/write

    Remote Read URL: http://192.168.1.123:8428/api/v1/read

  7. 上面就完成了所有配置,【时序指标】-【即时查询】->【关联数据源】 --> VM001,然后随便查点东西。

  8. 还可以点【基础设施】–> 【机器列表】–> 【全部对象】,可以看到已经有了机器的心跳信息,只要把categraf复制到其他机器启动,其他机器的信息就会被收集到啦。

  9. Good Bye!

Logo

开放原子开发者工作坊旨在鼓励更多人参与开源活动,与志同道合的开发者们相互交流开发经验、分享开发心得、获取前沿技术趋势。工作坊有多种形式的开发者活动,如meetup、训练营等,主打技术交流,干货满满,真诚地邀请各位开发者共同参与!

更多推荐