Спрос I. Общая информация
Nginx очень хороший веб-сервер, Nginx часто служат в качестве доступа портала проекта будет, то гарантия Nginx производительность будет очень важно, если есть проблема запуска Nginx будет иметь влияние больше на проект, так мы должны работать Nginx меры контроля, в режиме реального времени понять работу Nginx, то ему необходимо будет собирать и анализировать операционные показатели эффективности журналы Nginx Nginx из
Бизнес-процесс
объяснение
данные индекса Nginx, собранные биты и каротажных данных
Beats собранные данные направляются в Elasticsearch
kibana прочитать анализ данных
аналитический отчет Посмотреть пользователя по Kibana
Установка Nginx, экспериментальное использование, просто установить на него
[Корень @ node4 ~] # кд / USR / местные / SRC /
[Корень @ node4 SRC] # Wget http://nginx.org/download/nginx-1.16.1.tar.gz
[Корень @ node4 SRC] # ни -y установить PCRE-разви Zlib-разви
[Корень @ node4 SRC] # деготь -xf Nginx-1.16.1.tar.gz
[Корень @ node4 SRC] # CD Nginx-1.16.1
[Корень @ node4 Nginx-1.16.1] # ./configure
[Корень @ node4 Nginx-1.16.1] # марка && сделать установки
[Корень @ node4 Nginx-1.16.1] # LL / USR / местные / Nginx /
[Корень @ node4 Nginx-1.16.1] # пер -s / USR / местные / Nginx / SBIN / Nginx / USR / бен /
Начало Nginx
[корень @ Node4 Nginx-1.16.1] # Nginx
[Корень @ node4 Nginx-1.16.1] # NetStat -ntlp
ТСР 0 0 0.0 . 0.0 : 80 0.0 . 0.0 : * LISTEN 14721 / Nginx: мастер
доступ
Просмотр журнала в режиме реального времени
[Корень @ node4 ~] # хвост -f /usr/local/nginx/logs/access.log
192.168.132.1 - - [24 / ноябрь / 2019: 03: 15: 12 -0500] "GET / HTTP / 1.1" 304 0 "-" «Mozilla / 5.0 (Windows NT , 10.0; Win64; 64) AppleWebKit / 537,36 (KHTML , как Gecko) Chrome / 78.0.3904.108 Safari / 537,36"
192.168.132.1 - - [24 / ноябрь / 2019: 03: 15: 13 -0500] "GET / HTTP / 1.1" 304 0 "-" «Mozilla / 5.0 ( Windows NT 10,0; Win64; x64) AppleWebKit / 537,36 (KHTML, как Gecko) Chrome / 78.0.3904.108 Safari / 537,36"
О двух ударах
Модуль 2.1 с помощью опыта визуализации данных ускорения
И внутренний Filebeat Metricbeat интегрирует модуль, для упрощения сбора общего формата журнала (например, NGINX, Apache, или т.п., или в качестве метрики системы Redis DOCKER), синтаксического анализа и визуализации процесса. Просто запустите командную строку, вы можете начать исследовать.
линия данных 2.2 дорожки
Удары, собранные из ваших уникальных журналов среды и показателей, затем, например, Kubernetes Докера и другие контейнеров, а также необходимого облако метаданных поставщика платформы услуг для этих записей по содержанию от хозяина, а затем переносятся на упругом Stack. От архитектуры к данным передачи контроля контейнера с сервера без необходимости, мы уверены, что у вас есть необходимый контекст.
2.3 ударов серии
Три filebeat
3,1 журнала легкого приобретения
Когда приходится сталкиваться с сотнями или даже тысячами серверов, виртуальных машин и контейнеров сгенерированных журналы, SSH проститься с ним. Filebeat предоставит Вам метод легкого типа, а также для пересылки файла сводного, так что простые вещи не сложны.
filebeat преимущество
- Будь то в любой среде, всегда таится риск прерывания приложения. Filebeat умеет читать и пересылать строку журнала, если прерывание будет вернуться к нормальной жизни после того, как все, по-прежнему с остановленной позиции до перерыва.
- Filebeat построили множество модулей (auditd, Apache, NGINX, System, MySQL и т.д.), может значительно упростить процесс сбора, аналитической и визуализации для общего формата журнала, одной командой. Он был в состоянии добиться этого, так как он будет автоматически по умолчанию пути (в зависимости от операционной системы зависимой) и трубопровод определяет узел захвата Elasticsearch и Kibana панели вместе. Кроме того, ряд модуля Filebeat Machine Learning также включает в себя предварительно сконфигурированные задачи.
- 正在对所有内容进行容器化,或者正在云端环境中运行?通过 Elastic Stack,可以轻松地监测容器和云服务。在 Kubernetes、Docker 或云端部署中部署 Filebeat,即可获得所有的日志流:信息十分完整,包括日志流的 pod、容器、节点、VM、主机以及自动关联时用到的其他元数据。此外,Beats Autodiscover 功能可检测到新容器,并使用恰当的 Filebeat 模块对这些容器进行自适应监测。
- 当将数据发送到 Logstash 或 Elasticsearch 时,Filebeat 使用背压敏感协议,以应对更多的数据量。如果 Logstash 正在忙于处理数据,则会告诉 Filebeat 减慢读取速度。一旦拥堵得到解决,Filebeat 就会恢复到原来的步伐并继续传输数据。
- Filebeat 是 Elastic Stack 的一部分,因此能够与 Logstash、Elasticsearch 和 Kibana 无缝协作。无论您要使用 Logstash 转换或充实日志和文件,还是在 Elasticsearch 中随意处理一些数据分析,亦或在 Kibana 中构建和分享仪表板,Filebeat 都能轻松地将您的数据发送至最关键的地方。
3.1 架构
3.2 部署filebeat
[root@node4 ~]# cd /usr/local/src/
[root@node4 src]# wget https://artifacts.elastic.co/downloads/beats/filebeat/filebeat-7.4.2-linux-x86_64.tar.gz
[root@node4 src]# tar -xf filebeat-7.4.2-linux-x86_64.tar.gz
[root@node4 src]# mv filebeat-7.4.2-linux-x86_64 /usr/local/filebeat
[root@node4 src]# cd /usr/local/filebeat
[root@node4 filebeat]# vi darrentest.yml
filebeat.inputs: - type: stdin enabled: true setup.template.settings: index.number_of_shards: 3 output.console: #表示输出到控制台 pretty: true enable: true
3.3 启动
[root@node4 filebeat]# ./filebeat -e -c darrentest.yml
输入一个hello
hello { "@timestamp": "2019-11-24T08:41:55.256Z", "@metadata": { "beat": "filebeat", "type": "_doc", "version": "7.4.2" }, "host": { "name": "node4" }, "agent": { "ephemeral_id": "615a3c81-396c-49db-a322-3d2c94446500", "hostname": "node4", "id": "e4d0d55f-9fd7-45bc-8443-606c9ac55552", "version": "7.4.2", "type": "filebeat" }, "log": { "file": { "path": "" }, "offset": 0 }, "message": "hello", "input": { "type": "stdin" }, "ecs": { "version": "1.1.0" } }
四 filebeat读取文件
4.1 控制台简单输出日志文件
配置一个yml文件
[root@node4 filebeat]# cp darrentest.yml darren-log.yml
[root@node4 filebeat]# vi darren-log.yml
filebeat.inputs: - type: log enabled: true paths: - /opt/logs/*.log setup.template.settings: index.number_of_shards: 3 output.console: pretty: true enable: true
[root@node4 filebeat]# ./filebeat -e -c darrent-log.yml
[root@node4 ~]# mkdir /opt/logs
[root@node4 ~]# touch /opt/logs/a.log
[root@node4 ~]# echo "hello.I'm darren" > /opt/logs/a.log
{ "@timestamp": "2019-11-24T09:03:31.027Z", "@metadata": { "beat": "filebeat", "type": "_doc", "version": "7.4.2" }, "log": { "offset": 0, "file": { "path": "/opt/logs/a.log" } }, "message": "hello.I'm darren", "input": { "type": "log" }, "host": { "name": "node4" }, "agent": { "id": "2832793b-3bb6-4081-b05f-1955815440d0", "version": "7.4.2", "type": "filebeat", "ephemeral_id": "40c00976-1a62-4db5-9ead-876a28aad6a6", "hostname": "node4" }, "ecs": { "version": "1.1.0" } }
[root@node4 ~]# echo "345" > /opt/logs/a.log
{ "@timestamp": "2019-11-24T09:22:41.161Z", "@metadata": { "beat": "filebeat", "type": "_doc", "version": "7.4.2" }, "agent": { "id": "2832793b-3bb6-4081-b05f-1955815440d0", "version": "7.4.2", "type": "filebeat", "ephemeral_id": "40c00976-1a62-4db5-9ead-876a28aad6a6", "hostname": "node4" }, "log": { "file": { "path": "/opt/logs/a.log" }, "offset": 0 }, "message": "345", "input": { "type": "log" }, "ecs": { "version": "1.1.0" }, "host": { "name": "node4" } }
4.2 添加一个tag,输出日志
[root@node4 filebeat]# vi darren-log.yml
filebeat.inputs: - type: log enabled: true paths: - /opt/logs/a.log tags: ["web","test"] setup.template.settings: index.number_of_shards: 3 output.console: pretty: true enable: true
[root@node4 filebeat]# ./filebeat -e -c darren-log.yml
[root@node4 ~]# echo "34567" > /opt/logs/a.log
输出
{ "@timestamp": "2019-11-24T09:27:29.553Z", "@metadata": { "beat": "filebeat", "type": "_doc", "version": "7.4.2" }, "input": { "type": "log" }, "agent": { "type": "filebeat", "ephemeral_id": "5f74afa4-42a5-47de-a3c6-82c1563ed44d", "hostname": "node4", "id": "2832793b-3bb6-4081-b05f-1955815440d0", "version": "7.4.2" }, "ecs": { "version": "1.1.0" }, "host": { "name": "node4" }, "log": { "offset": 0, "file": { "path": "/opt/logs/a.log" } }, "message": "34567", "tags": [ "web", "test" ] }
4.3 添加自定义字段输出日志
[root@node4 filebeat]# vi darren-log.yml
ilebeat.inputs: - type: log enabled: true paths: - /opt/logs/a.log tags: ["web","test"] #添加tag fields: #自定义字段 from: test-web fields_under_root: true #设为true为添加到根节点 setup.template.settings: index.number_of_shards: 3 output.console: pretty: true enable: true
[root@node4 filebeat]# ./filebeat -e -c darren-log.yml
[root@node4 ~]# echo "345678910" > /opt/logs/a.log
输出
{ "@timestamp": "2019-11-24T09:40:27.804Z", "@metadata": { "beat": "filebeat", "type": "_doc", "version": "7.4.2" }, "message": "34567891011", "tags": [ "web", "test" ], "input": { "type": "log" }, "from": "test-web", "ecs": { "version": "1.1.0" }, "host": { "name": "node4" }, "agent": { "ephemeral_id": "28e91024-d253-4f8f-b4e6-0b26db1a1087", "hostname": "node4", "id": "2832793b-3bb6-4081-b05f-1955815440d0", "version": "7.4.2", "type": "filebeat" }, "log": { "file": { "path": "/opt/logs/a.log" }, "offset": 12 } }
4.4 输出到elasticsearch
修改yml文件
[root@node4 filebeat]# vi darren-log.yml
filebeat.inputs: - type: log enabled: true paths: - /opt/logs/a.log tags: ["web","test"] fields: from: test-web fields_under_root: true setup.template.settings: index.number_of_shards: 3 output.elasticsearch: hosts: ["192.168.132.131","192.168.132.132","192.168.132.133"] #output.console: # pretty: true # enable: true
启动
[root@node4 filebeat]# ./filebeat -e -c darren-log.yml
输入三个数据
[root@node4 ~]# echo "123" >> /opt/logs/a.log
[root@node4 ~]# echo "345" >> /opt/logs/a.log
[root@node4 ~]# echo "4456" >> /opt/logs/a.log
4.5 Elasticsearch输出
查看elasticsearch
查看数据
数据已经读取到
filebeat的简单使用实验先做到这里