>운영 및 유지보수 >안전 >[나이팅게일 모니터링] 나이팅게일의 첫 만남, 여전히 강하다!

[나이팅게일 모니터링] 나이팅게일의 첫 만남, 여전히 강하다!

PHPz
PHPz앞으로
2023-06-09 10:01:211294검색

[나이팅게일 모니터링] 나이팅게일의 첫 만남, 여전히 강하다!

머리말

관찰 가능성은 주로 다음과 같은 측면에서 대부분의 중소기업에게 골칫거리입니다. 링크 모니터링, ELK를 사용하여 로그 수집 및 모니터링을 구현하고 Grafana+Prometheus를 사용하여 지표 모니터링을 구현합니다.

    각 오픈 소스 소프트웨어 뒤에는 독립적인 시스템이 있습니다. 이전에는 서로 독립적이었습니다(Grafana Family Bucket이 통합되었습니다).
  1. 데이터 아일랜드, 링크, 로그, 표시기가 모두 분리되어 있어 연결이 설정되지 않습니다. 현재 시장에 나와 있는 솔루션은 상용 제품이거나 자체 개발된 솔루션입니다.
  2. 이 기사의 주인공은 실제로 통일되지 않았습니다. 현 단계에서는 서로 다른 오픈 소스 구성 요소가 여전히 서로 다른 기능을 구현하지만 N9e는 이를 동일한 기본 패널에서 볼 수 있지만 데이터 간의 연결은 아직 실현되지 않습니다.
그렇다면 왜 N9e를 계속 공부해야 할까요?

이런 방향으로 발전하고 있으니까요.

위에서 언급했듯이 Grafana는 이미 Grafana+Loki+Tempo+Prometheus 조합을 기반으로 모니터링, 지표, 링크를 연결할 수 있습니다. N9e와 Grafana의 차이점은 무엇인가요?

Mr. Qin의 말에 따르면 Grafana는 모니터링 패널 관리에 더 뛰어나고 N9e는 알람 규칙 관리에 더 좋습니다.

N9e는 한 그룹에서 대량의 알람 메시지가 생성되어 시간이 지남에 따라 우는 늑대 이야기로 이어지는 것을 방지하기 위해 다양한 비즈니스 그룹과 그룹에 서로 다른 알람 규칙을 보낼 수 있습니다.

너무 많이 말씀드렸는데, N9e는 어떤 모습인가요?

다음은 제가 배포한 시스템입니다.

이 패널에서 다음을 구현할 수 있음을 볼 수 있습니다. [나이팅게일 모니터링] 나이팅게일의 첫 만남, 여전히 강하다!

알람 관리

    시계열 표시기 쿼리
  • 로그 분석
  • 링크 추적
  • 알람 자가 치유
  • 인사 관리
  • .. . ...
  • 이렇게 하면 여러 앱 간에 전환할 필요가 없고 속도도 빠릅니다.

시스템 아키텍처

천에서 만까지, 아키텍처를 이해하지 못하면 모두 헛된 일입니다.

이제 N9e의 아키텍처가 어떤 모습인지 살펴보겠습니다. 아키텍처 로직에서 N9e의 작동 방식을 명확히 하는 것만으로도 배포와 유지 관리 모두에 큰 이점이 될 것입니다.

N9e에는 주로 중앙 융합 배포 솔루션과 Edge Sinking Hybrid 배포 솔루션이 있는데, 이에 대해서는 아래에서 설명하겠습니다.

중앙 통합 배포 솔루션

첫 번째 사진:

이 솔루션은 N9e 클러스터를 구축하는 것이며, 다른 지역의 모니터링 데이터가 이 클러스터로 전송됩니다. 이를 위해서는 중앙 클러스터와 다른 지역이 필요합니다. 인터넷 연결이 잘 되어 있습니다. [나이팅게일 모니터링] 나이팅게일의 첫 만남, 여전히 강하다!

중앙 클러스터의 경우 주로 다음 구성 요소를 포함합니다.

MySQL: 구성 정보 및 경보 이벤트를 저장하는 데 사용됩니다.

    Redis: JWT 토큰, 머신 메타 정보 및 기타 데이터를 저장하는 데 사용됩니다.
  • TSDB: 모니터링 지표를 저장하는 시계열 데이터베이스.
  • N9e: 핵심 서비스, 웹 요청 처리 및 알람 엔진 제공
  • LB: 여러 N9e에 대한 로드 기능 제공.
  • 다른 지역의 경우 로컬 모니터링 데이터를 중앙 클러스터로 푸시하는 Categraf만 배포하면 됩니다.
이 아키텍처는 단순성과 상대적으로 낮은 유지 관리 비용이 특징입니다. 전제는 전산실 간의 네트워크 연결이 상대적으로 좋아야 한다는 것입니다. 네트워크가 좋지 않은 경우 다음 솔루션을 사용해야 합니다.

Edge 싱킹 하이브리드 배포 솔루션

이 아키텍처는 주로 네트워크가 좋지 않은 상황을 위한 중앙 집중식 배포 솔루션을 보완합니다. [나이팅게일 모니터링] 나이팅게일의 첫 만남, 여전히 강하다!

시계열 데이터베이스 TSDB, 포워딩 게이트웨이 및 알람 통합 엔진 모두 특정 지역으로 싱크되며 지역 자체에서 처리됩니다. 그러나 지역은 여전히 ​​중앙 클러스터와 하트비트 연결을 설정해야 하며 사용자는 여전히 중앙 클러스터의 모니터링 패널을 통해 다른 지역의 모니터링 정보를 볼 수 있습니다.

    이미 Prometheus가 있다면 Prometheus를 데이터 소스로 직접 연결할 수도 있습니다.
  1. 에지 컴퓨터실에서 타이밍 라이브러리, 경보 엔진 및 전달 게이트웨이를 배포할 때 경보 엔진은 경보 규칙을 동기화해야 하기 때문에 데이터베이스에 의존해야 하며 전달 게이트웨이도 데이터베이스에 의존해야 한다는 점에 유의하세요. 데이터베이스에 객체를 등록해야 하기 때문에 관련 네트워크를 열어야 합니다.
  2. !! PS: 이 해결 방법의 경우 네트워크 자체가 좋지 않고 네트워크를 연결해야 하는 경우 여전히 네트워크 문제의 영향을 받을 수 있습니다.

    단일 머신 배포

    여기에서 단일 머신 배포를 선택해야 하는 이유는 무엇입니까?

    사실 각 구성 요소를 나란히 배치하고 싶습니다. 이는 전체 N9e의 작동 모드를 이해하는 데 도움이 될 것입니다.

    !! 팁: 빠른 실행을 위해 Mariadb가 설치되었습니다

    # 更新镜像源
    $ sudo apt-get update
    # 更新软件
    $ sudo apt-get upgrade
    # 安装Mariabd
    $ sudo apt-get install mariadb-server-10.6
    설치가 완료되면 자동으로 시작됩니다. 그런 다음 데이터베이스에 대한 사용자 비밀번호를 설정하십시오.

    # 连接数据库
    $ sudo mysql
    # 设置权限和密码
    > GRANT ALL PRIVILEGES ON *.* TO 'root'@'localhost' IDENTIFIED BY '1234';
    >flush privileges;
    Redis 설치

    # 更新镜像源
    $ sudo apt-get update
    # 更新软件
    $ sudo apt-get upgrade
    # 安装Redis
    $ sudo apt install redis-server

    기본적으로 자동으로 시작됩니다. TSDBN9e의 TSDB를 설치하는 데는 다양한 옵션이 있습니다.

    Prometheus

    M3DB

    VictoriaMetricsInfluxDB

    Thanos

    여기서 VictoriaMe를 선택합니다. 트릭.
    # 下载二进制包
    $ wget https://github.com/VictoriaMetrics/VictoriaMetrics/releases/download/v1.90.0/victoria-metrics-linux-amd64-v1.90.0.tar.gz
    # 解压
    $ tar xf victoria-metrics-linux-amd64-v1.90.0.tar.gz
    # 启动
    $ nohup ./victoria-metrics-prod &>victoria.log &

    8428이 시작되는지 관찰하세요.

    N9e
  • # 下载最新版本的二进制包
    $ wget https://github.com/ccfos/nightingale/releases/download/v6.0.0-ga.3/n9e-v6.0.0-ga.3-linux-amd64.tar.gz
    # 解压
    $ mkdir n9e
    $ tar xf n9e-v6.0.0-ga.3-linux-amd64.tar.gz -C n9e/
    # 检验目录如下
    $ ll
    total 35332
    drwxrwxr-x7 jokerbai jokerbai 40964月 12 14:05 ./
    drwxr-xr-x4 jokerbai jokerbai 40964月 12 14:05 ../
    drwxrwxr-x3 jokerbai jokerbai 40964月 12 14:05 cli/
    drwxrwxr-x 10 jokerbai jokerbai 40964月 12 14:05 docker/
    drwxrwxr-x4 jokerbai jokerbai 40964月 12 14:09 etc/
    drwxrwxr-x 20 jokerbai jokerbai 40964月 12 14:05 integrations/
    -rwxr-xr-x1 jokerbai jokerbai 252805124月6 19:05 n9e*
    -rwxr-xr-x1 jokerbai jokerbai 108380164月6 19:05 n9e-cli*
    -rw-r--r--1 jokerbai jokerbai297844月6 19:04 n9e.sql
    drwxrwxr-x6 jokerbai jokerbai 40964月 12 14:05 pub/
  • 를 설치한 다음 N9e의 데이터베이스를 가져옵니다.
  • # 导入数据库
    $ mysql -uroot -p <n9e.sql
  • 현재 디렉토리의 etc/config.toml 파일에서 N9e 구성 파일을 수정하세요.
  • [[Pushgw.Writers]]
    # Url = "http://127.0.0.1:8480/insert/0/prometheus/api/v1/write"
    Url = "http://127.0.0.1:8428/api/v1/write"
  • 그럼 N9e 서비스를 시작해 보세요.
  • # 启动服务
    $ nohup ./n9e &>n9e.log &
    # 检测17000端口是否启动
    $ ss -ntl | grep 17000
    LISTEN 04096 *:17000*:*
  • 브라우저에 http://127.0.0.1:17000을 입력한 다음 사용자 이름 root와 비밀번호 root.2020을 입력하여 시스템에 로그인하세요.

Install Categraf

Categraf는 수집된 정보를 TSDB로 푸시하는 모니터링 및 수집 에이전트입니다.

# 下载
$ wget https://download.flashcat.cloud/categraf-v0.2.38-linux-amd64.tar.gz
# 解压
$ tar xf categraf-v0.2.38-linux-amd64.tar.gz
# 进入目录
$ cd categraf-v0.2.38-linux-amd64/

구성 파일을 수정합니다. conf/config.toml에서 수정된 부분은 다음과 같습니다.

[[writers]]
url = "http://127.0.0.1:17000/prometheus/v1/write"

[heartbeat]
enable = true

그런 다음 Categraf를 시작합니다.

$ nohup ./categraf &>categraf.log &

그러면 메인 인터페이스에서 기본 정보를 볼 수 있습니다.

[나이팅게일 모니터링] 나이팅게일의 첫 만남, 여전히 강하다!

데이터 소스 추가

이제 시계열 데이터 지표를 확인하면 추가된 데이터 소스가 없어 쿼리할 수 없습니다.

시스템 구성->데이터 소스에서 다음과 같이 데이터 소스를 추가합니다.

[나이팅게일 모니터링] 나이팅게일의 첫 만남, 여전히 강하다!

그러면 해당 지표 데이터를 볼 수 있습니다.

[나이팅게일 모니터링] 나이팅게일의 첫 만남, 여전히 강하다!다음과 같이 내장된 대시보드를 통해 호스트의 모니터링 데이터를 볼 수도 있습니다.

[나이팅게일 모니터링] 나이팅게일의 첫 만남, 여전히 강하다!요약

이 글은 주로 나이팅게일에 대한 사전 감상을 제공하기 위해 작성되었습니다. , 전체 아키텍처에 대한 간략한 소개를 제공한 다음 모든 사람에게 나이팅게일의 구성 요소에 대한 명확한 이해를 제공하는 것을 목표로 설치 과정을 0부터 1까지 안내했습니다.

현재 나이팅게일은 V6 버전으로 업데이트되었습니다. 이번 버전에는 ELK 접근, Jaeger 접근 등 많은 새로운 기능적 시도가 담겨 있습니다. 이 시리즈는 앞으로도 계속 업데이트될 예정입니다.

위 내용은 [나이팅게일 모니터링] 나이팅게일의 첫 만남, 여전히 강하다!의 상세 내용입니다. 자세한 내용은 PHP 중국어 웹사이트의 기타 관련 기사를 참조하세요!

성명:
이 기사는 51cto.com에서 복제됩니다. 침해가 있는 경우 admin@php.cn으로 문의하시기 바랍니다. 삭제