external-noc
所属分类:大数据
开发工具:Shell
文件大小:0KB
下载次数:0
上传日期:2023-10-24 08:33:29
上 传 者:
sh-1993
说明: EPFL SI ISAS-FSD外部网络运营中心
(External Network Operations Center for EPFL SI ISAS-FSD)
文件列表:
Makefile (190, 2023-10-20)
ansible.cfg (338, 2023-10-20)
inventory/ (0, 2023-10-20)
inventory/hosts-dev.yml (231, 2023-10-20)
inventory/hosts-prod.yml (229, 2023-10-20)
nocsible (2422, 2023-10-20)
playbook.yml (1447, 2023-10-20)
requirements.yml (67, 2023-10-20)
roles/ (0, 2023-10-20)
roles/alert_tg_bot/ (0, 2023-10-20)
roles/alert_tg_bot/tasks/ (0, 2023-10-20)
roles/alert_tg_bot/tasks/main.yml (739, 2023-10-20)
roles/alertmanager/ (0, 2023-10-20)
roles/alertmanager/tasks/ (0, 2023-10-20)
roles/alertmanager/tasks/main.yml (2106, 2023-10-20)
roles/alertmanager/templates/ (0, 2023-10-20)
roles/alertmanager/templates/config.yml (3691, 2023-10-20)
roles/alertmanager/vars/ (0, 2023-10-20)
roles/alertmanager/vars/main.yml (295, 2023-10-20)
roles/blackbox_exporter/ (0, 2023-10-20)
roles/blackbox_exporter/tasks/ (0, 2023-10-20)
roles/blackbox_exporter/tasks/main.yml (1564, 2023-10-20)
roles/blackbox_exporter/templates/ (0, 2023-10-20)
roles/blackbox_exporter/templates/config/ (0, 2023-10-20)
roles/blackbox_exporter/templates/config/blackbox.yml (4820, 2023-10-20)
roles/blackbox_exporter/vars/ (0, 2023-10-20)
roles/blackbox_exporter/vars/main.yml (258, 2023-10-20)
roles/grafana/ (0, 2023-10-20)
roles/grafana/tasks/ (0, 2023-10-20)
roles/grafana/tasks/main.yml (3524, 2023-10-20)
roles/grafana/templates/ (0, 2023-10-20)
roles/grafana/templates/grafana/ (0, 2023-10-20)
... ...
# ISAS-FSD external NOC
# About
This project aims to set up a Network Operations Center (so called
[NOC](https://en.wikipedia.org/wiki/Network_operations_center)) providing an
external monitoring for our School. In short, it will set up
[Prometheus](https://prometheus.io/docs/introduction/overview/), [Prometheus
Pushgateway](https://prometheus.io/docs/practices/pushing/), [Prometheus
Blackbox exporter](https://github.com/prometheus/blackbox_exporter), [Prometheus
Alertmanager](https://prometheus.io/docs/alerting/alertmanager/), [Prometheus
Node Exporter](https://github.com/prometheus/node_exporter) and
[Grafana](https://prometheus.io/docs/visualization/grafana/) on a server, using
docker containers and deployed with [Ansible](https://www.ansible.com). On top
of that, [Traefik](https://traefik.io/) reverse proxy / load balancer handle the
HTTP requests.
# Pre-requisites
We assume that the NOC will be deployed on a Ubuntu server, on which you can
access with your SSH key with the root rights.
## Installation
The installation is self-managed by the `nocsible` script, which will download
the [Ansible suitcase](https://github.com/epfl-si/ansible.suitcase/) if needed.
This will ensure that every member of the team will be using the same versions
of the tools such as python, pip module, ansible modules, ruby, etc.
## Keybase
The secrets in this project are stored on a static yaml file on the team's
keybase (`/keybase/team/epfl_idevfsd/idevfsd-NOC/ansible_noc_secrets.yml`). An
Ansible file lookup will get them, meaning that access to this file is mandatory
and that it has to be mounted.
# Deployment
In our case, the deployment in done on a virtual machine hosted on a OpenStack
setup by [SWITCHEngines](https://www.switch.ch/engines/). Thus, some of the
explanations might be related to that, more particularly the access rules which
depends on [OpenStack Neutron Security
Groups](https://wiki.openstack.org/wiki/Neutron/SecurityGroups).
# Project's bricks
Each bricks of the project is meant to be self-contained. It should be possible
to deploy each brick individually, using Ansible tags.
# Usage
## Install
```
$ git clone git@github.com:epfl-si/external-noc.git
$ cd external-noc
$ ./nocsible --check
```
## Test
```
./nocsible
```
## Prod
```
./nocsible --prod
```
# Links
* [Prometheus](https://prometheus.io/docs/introduction/overview/)
* [Grafana](https://prometheus.io/docs/visualization/grafana/)
* [Alertmanager](https://prometheus.io/docs/alerting/alertmanager/)
* [Blackbox exporter](https://github.com/prometheus/blackbox_exporter)
* [Pushgateway](https://prometheus.io/docs/practices/pushing/)
* [node_exporter](https://github.com/prometheus/node_exporter)
* [Grafana](https://grafana.com/)
* [Configuration](http://docs.grafana.org/installation/configuration/)
* [Docker](http://docs.grafana.org/installation/docker/)
* [Auth GitHub](http://docs.grafana.org/auth/github/)
* [Provisionning DataSource](http://docs.grafana.org/administration/provisioning/#example-datasource-config-file)
近期下载者:
相关文件:
收藏者: