【滴滴开源运维监控系统】夜莺V5版本部署实践

本文涉及的产品
云数据库 RDS MySQL,集群系列 2核4GB
推荐场景:
搭建个人博客
RDS MySQL Serverless 基础系列,0.5-2RCU 50GB
Redis 开源版,标准版 2GB
推荐场景:
搭建游戏排行榜
简介: 【滴滴开源运维监控系统】夜莺V5版本部署实践

【滴滴开源运维监控系统】夜莺V5版本部署实践


滴滴开源运维监控系统-夜莺Nightingale


夜莺是新一代国产智能监控系统。对云原生场景、传统物理机虚拟机场景,都有很好的支持,10分钟完成搭建,1小时熟悉使用,经受了滴滴生产环境海量数据的验证,希望打造国产监控的标杆之作


新版Nightingale在2020.3.20发布v1版本,目前是v5.0版本,从这个版本开始,与Prometheus、VictoriaMetrics、Grafana、Telegraf等生态做了协同集成,力争打造国内最好用的开源运维监控系统。

640.jpg


640.jpg


本文参考如下链接完成


640.jpg



https://n9e.gitee.io/quickstart/standalone/
https://n9e.gitee.io/quickstart/telegraf/
https://blog.csdn.net/smallbird108/article/details/122497200


相关组件安装包准备


1、https://downloads.mysql.com/archives/community/
2、https://github.com/prometheus/prometheus/releases/download/v2.33.1/prometheus-2.33.1.linux-amd64.tar.gz
3、https://dl.influxdata.com/telegraf/releases/telegraf-1.21.3-1.x86_64.rpm
4、https://github.com/n9e/fe-v5/releases
n9e-5.3.3.tar.gz


640.jpg


640.jpg


640.jpg


一、安装MySQL

640.png


640.png

 rpm -ivh mysql-community-common-5.7.36-1.el7.x86_64.rpm 
 rpm -ivh mysql-community-libs-5.7.36-1.el7.x86_64.rpm
 rpm -ivh mysql-community-client-5.7.36-1.el7.x86_64.rpm
 rpm -ivh mysql-community-server-5.7.36-1.el7.x86_64.rpm

640.jpg


640.jpg


systemctl start mysqld
netstat -anp | grep 3306
systemctl enable mysqld
查看初始密码
grep 'temporary password' /var/log/mysqld.log
修改密码
set password for root@localhost=password('MySQL_2022');
grant all privileges on *.* to root@'%' identified by 'MySQL_2022';
flush privileges;

640.jpg


二、安装prometheus


mkdir -p /opt/prometheus
tar xf prometheus-2.33.1.linux-amd64.tar.gz
cp -far prometheus-2.33.1.linux-amd64/*  /opt/prometheus/
cd /opt/prometheus
chown -R root:root *

640.jpg

# service 
cat <<EOF >/etc/systemd/system/prometheus.service
[Unit]
Description="prometheus"
Documentation=https://prometheus.io/
After=network.target
[Service]
Type=simple
ExecStart=/opt/prometheus/prometheus  --config.file=/opt/prometheus/prometheus.yml --storage.tsdb.path=/opt/prometheus/data --web.enable-lifecycle --enable-feature=remote-write-receiver --query.lookback-delta=2m 
Restart=on-failure
SuccessExitStatus=0
LimitNOFILE=65536
StandardOutput=syslog
StandardError=syslog
SyslogIdentifier=prometheus
[Install]
WantedBy=multi-user.target
EOF
systemctl daemon-reload
systemctl enable prometheus
systemctl restart prometheus
systemctl status prometheus

640.jpg


其中prometheus在启动的时候要注意开启 --enable-feature=remote-write-receiver


640.jpg


三、安装Redis


建议给Redis添加密码

640.jpg

640.jpg


640.jpg


curl -o /etc/yum.repos.d/epel.repo http://mirrors.aliyun.com/repo/epel-7.repo
yum install -y redis
systemctl enable redis
vim /etc/redis.conf
systemctl restart redis


四、n9e部署


mkdir /usr/local/n9e
tar -zxvf n9e-5.3.3.tar.gz -C /usr/local/n9e/
vim /usr/local/n9e/etc/server.conf 
配置文件中MySQL Redis连接密码修改以及对接IP地址修改
vim /usr/local/n9e/etc/webapi.conf 
mysql -uroot -p'MySQL_2022' < /usr/local/n9e/docker/initsql/a-n9e.sql


640.jpg


640.jpg

640.jpg

640.jpg


640.jpg


mkdir /opt/n9e
cat <<EOF >/etc/systemd/system/n9e-server.service
[Unit]
Description="n9e-server"
After=network.target
[Service]
Type=simple
ExecStart=/usr/local/n9e/n9e server
WorkingDirectory=/usr/local/n9e
Restart=on-failure
SuccessExitStatus=0
LimitNOFILE=65536
StandardOutput=syslog
StandardError=syslog
SyslogIdentifier=n9e-server
[Install]
WantedBy=multi-user.target
EOF
cat <<EOF >/etc/systemd/system/n9e-webapi.service
[Unit]
Description="n9e-webapi"
After=network.target
[Service]
Type=simple
ExecStart=/usr/local/n9e/n9e webapi
WorkingDirectory=/usr/local/n9e
Restart=on-failure
SuccessExitStatus=0
LimitNOFILE=65536
StandardOutput=syslog
StandardError=syslog
SyslogIdentifier=n9e-server
[Install]
WantedBy=multi-user.target
EOF

640.jpg


640.jpg


640.jpg


systemctl enable n9e-server.service
systemctl enable n9e-server.service
systemctl enable n9e-webapi.service 
systemctl restart n9e-server.service  n9e-webapi.service
systemctl status n9e-server.service
systemctl status n9e-webapi.service 
firewall-cmd --permanent --zone=public --add-port=18000/tcp
firewall-cmd --permanent --zone=public --add-port=19000/tcp
firewall-cmd --reload


五、监控主机上安装采集器telegraf


例如找一台监控主机作为监控主机客户端进行测试


rpm -ivh telegraf-1.21.3-1.x86_64.rpm

640.jpg


640.jpg


cat <<EOF > /etc/telegraf/telegraf.conf
[global_tags]
[agent]
  interval = "10s"
  round_interval = true
  metric_batch_size = 1000
  metric_buffer_limit = 10000
  collection_jitter = "0s"
  flush_interval = "10s"
  flush_jitter = "0s"
  precision = ""
  hostname = ""
  omit_hostname = false
[[outputs.opentsdb]]
  host = "http://192.168.31.127"
  port = 19000
  http_batch_size = 50
  http_path = "/opentsdb/put"
  debug = false
  separator = "_"
[[inputs.cpu]]
  percpu = true
  totalcpu = true
  collect_cpu_time = false
  report_active = true
[[inputs.disk]]
  ignore_fs = ["tmpfs", "devtmpfs", "devfs", "iso9660", "overlay", "aufs", "squashfs"]
[[inputs.diskio]]
[[inputs.kernel]]
[[inputs.mem]]
[[inputs.processes]]
[[inputs.system]]
  fielddrop = ["uptime_format"]
[[inputs.net]]
  ignore_protocol_stats = true
EOF
systemctl restart telegraf.service


六、登录n9e web服务端参看监控指标项


默认用户名密码为:root/root.2000

640.jpg

640.jpg

640.jpg


这里使用telegraf作为采集器,本文只简单介绍入门部署,更多功能待研究与实践

相关实践学习
基于Redis实现在线游戏积分排行榜
本场景将介绍如何基于Redis数据库实现在线游戏中的游戏玩家积分排行榜功能。
云数据库 Redis 版使用教程
云数据库Redis版是兼容Redis协议标准的、提供持久化的内存数据库服务,基于高可靠双机热备架构及可无缝扩展的集群架构,满足高读写性能场景及容量需弹性变配的业务需求。 产品详情:https://www.aliyun.com/product/kvstore &nbsp; &nbsp; ------------------------------------------------------------------------- 阿里云数据库体验:数据库上云实战 开发者云会免费提供一台带自建MySQL的源数据库&nbsp;ECS 实例和一台目标数据库&nbsp;RDS实例。跟着指引,您可以一步步实现将ECS自建数据库迁移到目标数据库RDS。 点击下方链接,领取免费ECS&amp;RDS资源,30分钟完成数据库上云实战!https://developer.aliyun.com/adc/scenario/51eefbd1894e42f6bb9acacadd3f9121?spm=a2c6h.13788135.J_3257954370.9.4ba85f24utseFl
相关文章
|
19天前
|
运维 监控 持续交付
自动化运维在现代数据中心的应用与实践####
本文探讨了自动化运维技术在现代数据中心中的应用现状与实践案例,分析了其如何提升运维效率、降低成本并增强系统稳定性。通过具体实例,展示了自动化工具如Ansible、Puppet及Docker在环境配置、软件部署、故障恢复等方面的实际应用效果,为读者提供了一套可参考的实施框架。 ####
|
19天前
|
运维 监控 Devops
自动化运维实践:打造高效的DevOps流水线
在软件开发的快节奏中,自动化运维成为提升效率、确保质量的关键。本文将引导你理解自动化运维的价值,通过实际案例分享如何构建一个高效、可靠的DevOps流水线。我们将从持续集成(CI)开始,逐步深入到持续部署(CD),并展示代码示例来具体说明。准备好让你的运维工作飞跃式进步了吗?让我们开始吧!
|
19天前
|
人工智能 运维 自然语言处理
智能化运维:AI在IT运维领域的深度应用与实践####
本文探讨了人工智能(AI)技术在IT运维领域的深度融合与实践应用,通过分析AI驱动的自动化监控、故障预测与诊断、容量规划及智能决策支持等关键方面,揭示了AI如何赋能IT运维,提升效率、降低成本并增强系统稳定性。文章旨在为读者提供一个关于AI在现代IT运维中应用的全面视角,展示其实际价值与未来发展趋势。 ####
122 4
|
21天前
|
机器学习/深度学习 数据采集 人工智能
智能化运维在企业IT管理中的应用与实践####
本文深入探讨了智能化运维(AIOps)的核心技术原理,通过对比传统运维模式,揭示了AIOps如何利用大数据、机器学习等先进技术提升故障预测准确性、优化资源分配及自动化处理流程。同时,文章详细阐述了智能化运维平台的实施步骤,包括数据收集与分析、模型训练与部署、以及持续监控与优化,旨在为企业IT部门提供一套切实可行的智能化转型路径。最后,通过几个典型应用案例,如某大型电商平台的智能告警系统和金融企业的自动化故障排查流程,直观展示了智能化运维在实际业务场景中的显著成效,强调了其在提升运维效率、降低运营成本方面的关键作用。 ####
42 4
|
22天前
|
数据采集 机器学习/深度学习 人工智能
智能运维在IT管理中的实践与探索
【10月更文挑战第21天】 本文深入探讨了智能运维(AIOps)技术在现代IT管理中的应用,通过分析其核心组件、实施策略及面临的挑战,揭示了智能运维如何助力企业实现自动化监控、故障预测与快速响应,从而提升整体运维效率与系统稳定性。文章还结合具体案例,展示了智能运维在实际环境中的显著成效。
44 4
|
25天前
|
机器学习/深度学习 数据采集 人工智能
智能化运维:从自动化到AIOps的演进与实践####
本文探讨了智能运维(AIOps)的崛起背景,深入分析了其核心概念、关键技术、应用场景及面临的挑战,并对比了传统IT运维模式,揭示了AIOps如何引领运维管理向更高效、智能的方向迈进。通过实际案例分析,展示了AIOps在不同行业中的应用成效,为读者提供了对未来智能运维趋势的洞察与思考。 ####
60 1
|
1月前
|
运维 监控 持续交付
云计算环境下的运维自动化实践
本文探讨了在云计算环境下实施运维自动化的必要性、挑战及解决方案,重点介绍了如何利用现代技术工具实现高效的云资源管理和监控。通过具体案例分析,展示了自动化运维在提升系统稳定性、降低人力成本方面的优势。
|
28天前
|
数据采集 机器学习/深度学习 人工智能
智能运维在IT管理中的实践与探索####
【10月更文挑战第21天】 本文深入探讨了智能运维(AIOps)技术在现代IT管理中的应用,通过分析其核心组件、实施策略及面临的挑战,揭示了智能运维如何助力企业实现自动化监控、故障预测与快速响应,从而提升整体运维效率与系统稳定性。文章还结合具体案例,展示了智能运维在实际环境中的显著成效。 ####
|
1月前
|
数据采集 机器学习/深度学习 运维
智能运维在IT服务管理中的实践与挑战####
本文深入探讨了智能运维(AIOps)在现代IT服务管理中的应用,通过分析其如何提升效率、预测故障并优化资源分配,阐述了智能运维的实施策略与面临的主要挑战。不同于传统摘要,本部分旨在直接概述文章的核心观点与结论,为读者提供快速了解全文主旨的窗口。
|
1月前
|
运维 监控
构建高效运维体系:从理论到实践
在当今快速发展的信息化时代,高效的运维体系是保障企业信息系统稳定运行的关键。本文旨在探讨如何构建一个高效、可靠的运维体系,通过分析当前运维面临的挑战,提出相应的解决策略,并结合实际案例,展示这些策略的实施效果。文章首先介绍了高效运维的重要性,接着分析了运维过程中常见的问题,然后详细阐述了构建高效运维体系的策略和步骤,最后通过一个实际案例来验证这些策略的有效性。