当前位置:   article > 正文

01.夜莺监控简介及安装

夜莺监控

夜莺监控系统介绍

    夜莺监控( Nightingale )是一款国产、开源云原生监控分析系统,采用 All-In-One 的设计,集数据采集、可视化、监控告警、数据分析于一体。于 2020 年 3 月 20 日,在 github 上发布 v1 版本,已累计迭代 60 多个版本。从 v5 版本开始与 Prometheus、VictoriaMetrics、Grafana、Telegraf、Datadog 等生态紧密协同集成,提供开箱即用的企业级监控分析和告警能力,已有众多企业选择将 Prometheus + AlertManager + Grafana 的组合方案升级为使用夜莺监控。夜莺监控,由滴滴开发和开源,并于 2022 年 5 月 11 日,捐赠予中国计算机学会开源发展委员会(CCF ODC),为 CCF ODC 成立后接受捐赠的第一个开源项目。夜莺监控的核心开发团队,也是Open-Falcon项目原核心研发人员。

产品介绍

 系统架构

安装部署

Server端安装部署架构: Prometheus + MySQL + redis + n9e server + n9e webapi 

采集端:categraf

1. 关闭防火墙和安全机制

  1. systemctl stop firewalld.service
  2. systemctl disable firewalld.service
  3. setenforce 0

2. 安装普罗米修斯

  1. #下载普罗米修斯
  2. wget https://s3-gz01.didistatic.com/n9e-pub/prome/prometheus-2.28.0.linux-amd64.tar.gz -O prometheus-2.28.0.linux-amd64.tar.gz
  3. #解压
  4. tar xzvf prometheus-2.28.0.linux-amd64.tar.gz -C /usr/local
  5. #改名
  6. mv /usr/local/prometheus-2.28.0.linux-amd64 /usr/local/prometheus
  7. #prometheus配置成系统服务
  8. cat <<EOF >/etc/systemd/system/prometheus.service
  9. [Unit]
  10. Description="prometheus"
  11. Documentation=https://prometheus.io/
  12. After=network.target
  13. [Service]
  14. Type=simple
  15. ExecStart=/usr/local/prometheus/prometheus --config.file=/usr/local/prometheus/prometheus.yml --storage.tsdb.path=/usr/local/prometheus/data --web.enable-lifecycle --enable-feature=remote-write-receiver --query.lookback-delta=2m
  16. Restart=on-failure
  17. SuccessExitStatus=0
  18. LimitNOFILE=65536
  19. StandardOutput=syslog
  20. StandardError=syslog
  21. SyslogIdentifier=prometheus
  22. [Install]
  23. WantedBy=multi-user.target
  24. EOF
  25. #重启daemon
  26. systemctl daemon-reload
  27. #prometheus加入开机自启
  28. systemctl enable prometheus
  29. #重启prometheus
  30. systemctl restart prometheus
  31. #查看prometheus状态
  32. systemctl status prometheus

 3. 安装MySQL

  1. #下载mysql安装包
  2. wget https://dev.mysql.com/get/Downloads/MySQL-8.0/mysql-8.0.28-1.el7.x86_64.rpm-bundle.tar
  3. #创建MySQL目录
  4. mkdir /usr/local/mysql
  5. #解压MySQL安装包
  6. tar xf mysql-8.0.28-1.el7.x86_64.rpm-bundle.tar -C /usr/local/mysql
  7. #移动到mysql目录
  8. cd /usr/local/mysql/
  9. #RPM方式安装MySQL
  10. rpm -ivh mysql-community-* --force --nodeps
  11. #启动MySQL
  12. systemctl start mysqld
  13. #MySQL加入开启自启
  14. systemctl enable mysqld
  15. #以下三种方法,均可(建议都看一遍)
  16. systemctl status mysqld.service
  17. netstat -anptu |grep mysql
  18. ps -ef |grep mysql

3.1 修改MySQL密码

  1. #启动mysql后会初始化 查找mysql密码
  2. cat /var/log/mysqld.log | grep password
  3. 2022-06-23T16:15:31.370137Z 6 [Note] [MY-010454] [Server] A temporary password is generated for root@localhost: Dfo5Dm-!fVZG
  4. #密码为:Dfo5Dm-!fVZG
  5. #由于MySQL8.0 有密码验证组件,若希望设置简单的密码,需要修改服务验证条件
  6. # 密码检查等级,0/LOW、1/MEDIUM、2/STRONG
  7. set global validate_password.policy=0;
  8. # 密码的最短长度
  9. set global validate_password.length=6;
  10. # 密码至少要包含的小写字母个数和大写字母个数
  11. set global validate_password.mixed_case_count=0;
  12. # 设置密码
  13. mysql -uroot -p
  14. ALTER USER 'root'@'localhost' IDENTIFIED BY 'Likun@123';

 3.2 也可以直接安装mariadb(MySQL和Mariadb选取一个)

  1. #安装mariadb
  2. yum -y install mariadb*
  3. #mariadb加入开机自启
  4. systemctl enable mariadb
  5. #启动mariadb
  6. systemctl restart mariadb
  7. #修改密码
  8. mysql -e "SET PASSWORD FOR 'root'@'localhost' = PASSWORD('Likun@123');"

 4. 安装redis

  1. #环境准备
  2. yum -y install gcc
  3. #创建redis目录
  4. mkdir /usr/local/redis
  5. #下载redis:
  6. wget https://download.redis.io/redis-stable.tar.gz
  7. #解压redis:
  8. tar xf redis-stable.tar.gz -C /usr/local/redis/
  9. #编译
  10. cd /usr/local/redis/redis-stable/
  11. make && make install
  12. #初始化redis
  13. cd /usr/local/redis/redis-stable/utils/
  14. #注释文件中几行内容(不注释会运行报错)
  15. vim install_server.sh
  16. 注释如下行
  17. 77# _pid_1_exe="$(readlink -f /proc/1/exe)"
  18. 78 #if [ "${_pid_1_exe##*/}" = systemd ]
  19. 79 #then
  20. 80 # echo "This systems seems to use systemd."
  21. 81 # echo "Please take a look at the provided example service unit files in this directory, and adapt and install them. Sorry!"
  22. 82 # exit 1
  23. 83 #fi

4.1 初始化安装redis 

  1. ./install_server.sh
  2. 会有如下的提示信息,直接默认就好了
  3. Welcome to the redis service installer
  4. This script will help you easily set up a running redis server
  5. Please select the redis port for this instance: [6379]
  6. Selecting default: 6379
  7. Please select the redis config file name [/etc/redis/6379.conf]
  8. Selected default - /etc/redis/6379.conf
  9. Please select the redis log file name [/var/log/redis_6379.log]
  10. Selected default - /var/log/redis_6379.log
  11. Please select the data directory for this instance [/var/lib/redis/6379]
  12. Selected default - /var/lib/redis/6379
  13. Please select the redis executable path [/usr/local/bin/redis-server]
  14. Selected config:
  15. Port : 6379
  16. Config file : /etc/redis/6379.conf
  17. Log file : /var/log/redis_6379.log
  18. Data dir : /var/lib/redis/6379
  19. Executable : /usr/local/bin/redis-server
  20. Cli Executable : /usr/local/bin/redis-cli
  21. Is this ok? Then press ENTER to go on or Ctrl-C to abort.
  22. Copied /tmp/6379.conf => /etc/init.d/redis_6379
  23. Installing service...
  24. Successfully added to chkconfig!
  25. Successfully added to runlevels 345!
  26. Starting Redis server...
  27. Installation successful!
  28. #看到 successful! 安装完成

此时,已经默认帮我们启动了redis了,查看下redis的状态,可以看到redis真的已经启动了 

  1. #检查进程
  2. ps -ef |grep redis
  3. root 15825 1 0 14:12 ? 00:00:00 /usr/local/bin/redis-server 127.0.0.1:6379
  4. root 15864 10374 0 14:15 pts/0 00:00:00 grep --color=auto redis
  5. #检查端口
  6. netstat -anptu |grep redis
  7. tcp 0 0 127.0.0.1:6379 0.0.0.0:* LISTEN 15825/redis-server
  8. tcp6 0 0 ::1:6379 :::* LISTEN 15825/redis-server

5.  安装夜莺

夜莺的安装包从哪里搞?大家可以自行编译,后端代码在上文提到了,前端代码在:https://github.com/n9e/fe-v5

也提供编译好的二进制,不过只有 linux-amd64 的版本,可以从两个地方下载:

github:https://github.com/ccfos/nightingale/releases
gitlink:https://www.gitlink.org.cn/ccfos/nightingale/releases

  1. #创建夜莺目录
  2. mkdir /usr/local/n9e
  3. #解压安装包
  4. tar xzvf n9e-v5.10.0-linux-amd64.tar.gz -C /usr/local/n9e/
  5. #导入数据库
  6. mysql -uroot -pLikun@123< /usr/local/n9e/docker/initsql/a-n9e.sql
  7. #修改server配置文件中MySQL连接密码
  8. vim /usr/local/n9e/etc/server.conf
  9. 133 DSN="root:1234@tcp(127.0.0.1:3306)/n9e_v5?charset=utf8mb4&parseTime=True&loc=Local&allowNativePasswords=true"
  10. 改为
  11. 133 DSN="root:Likun@123@tcp(127.0.0.1:3306)/n9e_v5?charset=utf8mb4&parseTime=True&loc=Local&allowNativePasswords=true"
  12. #修改webapi配置文件中MySQL连接密码
  13. vim /usr/local/n9e/etc/webaip.conf
  14. 165 DSN="root:1234@tcp(127.0.0.1:3306)/n9e_v5?charset=utf8mb4&parseTime=True&loc=Local&allowNativePasswords=true"
  15. 改为
  16. 165 DSN="root:Likun@123@tcp(127.0.0.1:3306)/n9e_v5?charset=utf8mb4&parseTime=True&loc=Local&allowNativePasswords=true"
  17. #启动server
  18. cd /usr/local/n9e/
  19. nohup ./n9e server &> server.log &
  20. #启动webapi
  21. nohup ./n9e webapi &> webapi.log &

如果启动成功,server 默认会监听在 19000 端口,webapi 会监听在 18000 端口,且日志没有报错。此时浏览器请求 18000 端口,就可以体验了

声明:本文内容由网友自发贡献,不代表【wpsshop博客】立场,版权归原作者所有,本站不承担相应法律责任。如您发现有侵权的内容,请联系我们。转载请注明出处:https://www.wpsshop.cn/w/凡人多烦事01/article/detail/158688
推荐阅读
相关标签
  

闽ICP备14008679号