Upload
meyouslide
View
74
Download
8
Embed Size (px)
Citation preview
Учи.ру
• Учи.ру:15%учениковначальнойшколыРоссии
• Олимпиада«Плюс»• Олимпиада«РусскийсПушкиным»• Олимпиада«Юныйпредприниматель»• Олимпиада«Дино»
2014→2017
1продакшен → 15продакшенов5серверов→ 130серверов15сотрудников→ 150сотрудников1кпользователей→ 1Мпользователей10reqs/sec → 500-800reqs/sec
Структурапроекта
VPN eth1:VPN
eth0:*
eth1:80/443
eth0:*
eth1:80/443
eth0:*
eth1:80/443
eth0:*
DB-Master DB-Slave
App02App01 App03
Elastic,etc…Monitoring
Терраформresource"openstack_blockstorage_volume_v1""disk"{name="disk"region="ru-1"size =10}
resource"openstack_compute_instance_v2""server"{name ="server"flavor_name="flavor-1024-1"region ="ru-1"
block_device{uuid="${openstack_blockstorage_volume_v1.disk.id}"}}
https://www.terraform.iohttps://blog.selectel.ru/gostevoj-post-upravlyaem
Мониторинг
- ConsulServer- NodeExporter- Prometheus- Grafana
- ConsulClient- NodeExporter- Mtail- …
- ConsulClient- NodeExporter- Mtail- …
…
- name:consulclientdocker_container:name:consulimage:consulcommand:agent-client-bind=….restart_policy:'unless-stopped’
- name:node_exporter service….
- name:node_exporter consulserviceconsul:
host:{{ansible_eth0.ipv4.address}}service_name:node_exporterservice_port:9100
PrometheusConsulSD
global:scrape_interval: 10sevaluation_interval:10s
#Alistofscrapeconfigurations.scrape_configs:- job_name:hostsconsul_sd_configs:- server:'{{ansible_eth0.ipv4.address}}:8500'services:[node_exporter]
relabel_configs:- source_labels:['__meta_consul_node']target_label: 'instance'
Grafana.rb
- type:customtitle:"requestspersecond(uchi.ru)"format:"ops"fill:8stack:trueexpr:'sum(rate(http_requests_total{job="nginx",vhost="uchi.ru"}[1m]))'
- type:customtitle:"requests(uchi.ru)"format:"ops"expr:'sum(rate(http_requests_total{job="nginx",vhost="uchi.ru"}[1m]))by(instance)'
- type:alerttitle:"Availability”max:2expr:'up<0.5'
https://github.com/uchiru/grafana-rb
MTail
- name:nginx_prometheus_exporterdocker_container:name:nginx-prometheus-exporterimage:ndiazg/nginx-prometheus-exportercommand:/var/log/nginx/access.logvolumes:- /var/log/nginx:/var/log/nginx:ro
ports:- 3093:3093 https://github.com/google/mtail
https://github.com/ndiazg/nginx-prometheus-exporter
Итоги
• NoOps,NoDev• Cloud WithPrivateNetwork• Docker(???)• Terraform• Prometheus+Grafana+Grafana.rb
NextAction
• http://vakhov.me - Блог,милыйблог.Новаяисториякаждыйбуднийдень.
• [email protected]• Облако!• Изолированныепроекты!!• Терраформ!!!• Прометей!!!!• Grafana-rb!!!!!
PaaS,выделенныесервера,облакоисноваPaaSАлексей Вахов,Учи.ру