构建自动化运维平台-nightingale

夜莺是一套分布式高可用的运维监控系统,最大的特点是混合云支持,既可以支持传统物理机虚拟机的场景,也可以支持K8S容器的场景。同时,夜莺也不只是监控,还有一部分CMDB的能力、自动化运维的能力,很多公司都基于夜莺开发自己公司的运维平台。重点是部署方便快捷,相比目前主流的监控系统zabbix和Prometheus有自己的优势。

yum安装:安装git docker docker-compose

#关闭防火墙
systemctl stop firewalld && systemctl disable firewalld
#关闭内核安全机制selinux
setenforce 0
#永久关闭
sed -i 's/SELINUX=enforcing/SELINUX=disabled/g' /etc/selinux/config
#yum安装git & epel-release & docker & docker-compose
yum -y install epel-release
yum -y install  git docker docker-compose
#git clone 夜莺
git clone https://github.com/didi/nightingale.git
正克隆到 'nightingale'...
remote: Enumerating objects: 18476, done.
remote: Counting objects: 100% (3713/3713), done.
remote: Compressing objects: 100% (1887/1887), done.
remote: Total 18476 (delta 1782), reused 3455 (delta 1669), pack-reused 14763
接收对象中: 100% (18476/18476), 31.39 MiB | 1.69 MiB/s, done.
处理 delta 中: 100% (8105/8105), done.
#启动docker服务
systemctl start docker & systemctl enable docker
#进入到夜莺的docker目录
cd nightingale/docker
#docker-compose 启动夜莺监控
docker-compose up -d

访问ip:18000

账号:root

密码:root.2020

配置agent端
server端修改配置文件address.yml,将monapi和transfer的addresses都改为本机ip

vim /home/n9e/etc/address.yml

monapi:
  http: 0.0.0.0:8006
  addresses:
    - 172.16.108.145

transfer:
  http: 0.0.0.0:8008
  rpc: 0.0.0.0:8009
  addresses:
    - 172.16.108.145

docker安装:

1安装docker

利用华为源下载docker-ce的yum仓库:https://mirrors.huaweicloud.com/

根据版本下载docker的repo文件:
wget -O /etc/yum.repos.d/docker-ce.repo https://repo.huaweicloud.com/docker-ce/linux/centos/docker-ce.repo

软件仓库地址替换为:
sudo sed -i 's+download.docker.com+repo.huaweicloud.com/docker-ce+' /etc/yum.repos.d/docker-ce.repo

更新索引文件并安装:
sudo yum makecache fast
yum install docker -y
systemctl start docker
systemctl enable docker
安装成功之后,可以查看docker安装的版本
docker version

2.docker-compose
github下载链接: https://github.com/docker/compose/releases/

由于我们的docker版本不是很高,所以docker-compose的版本也需要选择稍微老点的版本,防止容器启动时报错。
mv docker-compose-Linux-x86_64 docker-compose
将可执行权限应用于二进制文件:
chmod +x docker-compose

mv docker-compose /usr/local/bin/
创建软链接:
ln -s /usr/local/bin/docker-compose /usr/bin/docker-compose
测试是否安装成功:
docker-compose --version

3.部署n9e:

系统组件占用了以下端口,80, 5800, 5810, 5811, 5820, 5821, 5830, 5831, 5840, 5841, 6379, 2058, 3306,部署前请确保这些端口没有被使用。

yum install git -y
mkdir /home/n9e
cd /home/n9e
git clone https://github.com/didi/nightingale.git

下载夜莺repo的内容
cd dockerfiles
docker-compose up

修改etc/hosts 加入域名解析 127.0.0.1 n9e.example.com
浏览器访问 http://n9e.example.com
用户名 root 密码 root.2020

就此部署完成!

夜莺配置模板:

cat /root/nightingale/docker/docker-compose.yaml

version: "3.7"

services:
  mysql:
    # platform: linux/x86_64
    image: "mysql:5.7"
    container_name: mysql
    hostname: mysql
    restart: always
    environment:
      TZ: Asia/Shanghai
      MYSQL_ROOT_PASSWORD: 1234
    volumes:
      - ./mysqldata:/var/lib/mysql/
      - ./initsql:/docker-entrypoint-initdb.d/
      - ./mysqletc/my.cnf:/etc/my.cnf
    network_mode: host

  redis:
    image: "redis:6.2"
    container_name: redis
    hostname: redis
    restart: always
    environment:
      TZ: Asia/Shanghai
    network_mode: host

  prometheus:
    image: prom/prometheus
    container_name: prometheus
    hostname: prometheus
    restart: always
    environment:
      TZ: Asia/Shanghai
    volumes:
      - ./prometc:/etc/prometheus
    network_mode: host
    command:
      - "--config.file=/etc/prometheus/prometheus.yml"
      - "--storage.tsdb.path=/prometheus"
      - "--web.console.libraries=/usr/share/prometheus/console_libraries"
      - "--web.console.templates=/usr/share/prometheus/consoles"
      - "--enable-feature=remote-write-receiver"
      - "--query.lookback-delta=2m"

  ibex:
    image: ulric2019/ibex:0.3
    container_name: ibex
    hostname: ibex
    restart: always
    environment:
      GIN_MODE: release
      TZ: Asia/Shanghai
      WAIT_HOSTS: 127.0.0.1:3306
    volumes:
      - ./ibexetc:/app/etc
    network_mode: host
    depends_on:
      - mysql
    command: >
      sh -c "/wait && /app/ibex server"

  n9e:
    image: flashcatcloud/nightingale:latest
    container_name: n9e
    hostname: n9e
    restart: always
    environment:
      GIN_MODE: release
      TZ: Asia/Shanghai
      WAIT_HOSTS: 127.0.0.1:3306, 127.0.0.1:6379
    volumes:
      - ../etc:/app/etc
    network_mode: host
    depends_on:
      - mysql
      - redis
      - prometheus
      - ibex
    command: >
      sh -c "/wait && /app/n9e"

  categraf:
    image: "flashcatcloud/categraf:latest"
    container_name: "categraf"
    hostname: "categraf01"
    restart: always
    environment:
      TZ: Asia/Shanghai
      HOST_PROC: /hostfs/proc
      HOST_SYS: /hostfs/sys
      HOST_MOUNT_PREFIX: /hostfs
    volumes:
      - ./categraf/conf:/etc/categraf/conf
      - /:/hostfs
      - /var/run/docker.sock:/var/run/docker.sock
    network_mode: host
    depends_on:
      - n9e

  • 0
    点赞
  • 2
    收藏
    觉得还不错? 一键收藏
  • 1
    评论
评论 1
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

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

抵扣说明:

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

余额充值