프로젝트 경험
프로젝트 경험
요점
Kubernetes 생산용 ELK zabbix ~ prometheus Jenkins jumpserver prometheus Kubernetes 생산 응용 프로그램
관건:
deployment을 이용하여 Horizontal Pod Autoscaling에 대한 탄성 신축 pod과 ingress을 이용한 대내외 서비스 제공service 및 namespace을 통한 rdac 패키지 관리 도구 helm 노드의 탄성 신축, 클라우드 호스트에 대한 탄성 신축을 이용하여 모니터링
node 로그 수집
노드에서 로그를 수집하기 위해
kube-prometheus을 실행하지만 agent 모드에서는DaemonSet FELK에 pod 용기를 포함하여 응용 로그를 수집합니다sidecar에 pod 또는 fluentd 컨테이너 수집 로그를 외부 filebeat에 코드 게시
ELK (현재 비교 low) jenkins shell 또는 drone을 사용할 수 있습니다.클라우드 본체의 탄성 신축.
호스트에 대한 신축성 신축 서비스입니다. 이것은 클라우드 서비스 업체가 제공하는 서비스입니다.\신축성 신축은 주로 설정된 신축 규칙에 따라 업무 수요가 증가할 때 자동으로
jenkins-pipeline 실례를 증가하여 계산 능력을 확보하고, 업무 수요가 감소할 때 자동으로 ECS 실례를 감소하여 원가를 절약합니다.\제품은 주로 ECS 뒤에 SLB을 마운트합니다.cpu나 메모리 사용률에 대한 감시를 실현하고 메모리나 cpu가 일정한 한도값을 초과하면 이전에 정의한 신축 전략을 이용하여 이전에 만들어진 거울을 이용하여 ECS을 신축한다.\다음 문제를 가져오다문제.
새로 발표된 코드는 오래된 이미지에 있을 수 없습니다.신축성이 신축되면 새로 추가된
ECS의 코드는 온라인 코드와 일치하지 않습니다.해결하다
개인적으로는
ECS에 비해 발표가 무겁다.그러나 low에서는 이런 문제가 존재하지 않는다.코드를 발표한 후 클라우드 서비스 업체의
Kubernetes을 호출하여 새 API에 렌즈를 설치하고 프로젝트의 탄력적인 신축 전략을 수정하며 새 렌즈 id를 낡은 렌즈 id로 바꿉니다.로그 수집
ECS elk+kafka filebeat 의 일지를 수집하여 nginx logstash에서 로그를 필드 분할하여 logstash까지 씁니다.elasticicsearch을 이용하면 kafka을 쓰기 전에 elasticicsearch을 쓰고 kafka을 elasticicsearch에서 데이터를 얻는다.kafka을 활용한 프레젠테이션kibana에서 서로 다른 업무에 따라 kibana, request_time, upstream_time 등의 status_code을 미리 배치하여 포지셔닝 문제를 편리하게 한다.dashboard, request_time, upstream_time을 정기적으로 검사한다.시간 초과 또는 status_code이 status_code이면 프로그램 부분 로그 수집 및 경고
요구 사항:
게이트웨이
5XX 서비스는 nginx을 생성합니다. 이 요청 뒤에 있는 일련의 요청은 모두 이 request_id을 가지고 로그를 씁니다.목적지에서 문제를 포지셔닝하기 편리하다.request_id에서 nginx 등 오류가 발생했을 때 이 요청의 5xx에 따라 프로그램에 대응하는 일련의 요청을 찾을 수 있어 구체적인 문제가 어디에 있는지 신속하게 파악할 수 있다.자원: 자원 문제를 고려하여 현재 request_id/warn/error 세 등급의 프로그램 로그만 수집하여 fatal에 가져옵니다.elk의 빠른 포지셔닝 프로그램 문제에 따라경고:
정시 임무는 최근 1분간 어떤 항목에 10개의
request_id이 나타나거나 error이 나타나면 경고한다.매일 항목이 나타난 fatal횟수를 통계하다.우편물을 보내다.프로젝트 warn이 많은 (warn개 500)은 추가 경고를 보내서 개발 처리를 하도록 합니다.모니터링
warn부터 mysql+zabbix+grafana+ / 까지주요 모니터링 지점
prometheus+grafana+alertmanager + 사용률 cpu io 연결 tcp 연결 IP 연결 IP: redis, 메모리 사용량, cpu, hit, miss, get, set, ops...elasticsearch: cpu, jvm, 메모리, gc, indics, 건강 상태, ops...mongodb : cpu 、 mem 、 ops ... prometheus으로 마이그레이션한 이유prometheus은 리소스에 대한 요구 사항이 매우 낮습니다.2진법 문제 하나만 실행하면 된다.zabbix이 100대의 서버를 모니터링한 후에 모니터링을 볼 때 현저히 느려졌다.prometheus에 경고를 추가하면 더욱 뚜렷하고 편리하다.Jenkins 코드 발표
개발 요구 사항:
, , `makefile` 。 `make build` 대략적인 절차:
git 창고에서 대응하는 tag 또는 branch에 따라 코드를 얻는다.jenkins의 shell 기능을 활용하여 make build build의 코드를 얻었고 rsync에서 서버에 도착했습니다.supervisorsleep 3s또한 건강검진 인터페이스를 요청해 서비스가 정상인지 확인한다.api을 이용하여 새로 발표된 프로젝트 중의 어느 ecs을 거울로 삼았다.보통 10분 정도 ID은 a단계에서 발생한 거울 ID이다.요새기jumpserver
목적:
이점:
prometheus+pushgateway+grafana+alertmanager+ 의 목적은 다음과 같은 문제에 자주 부딪히는데 특정한 서비스, 자원의 cpu 또는 메모리가 급증한다.똑똑히 알기 위해서.이 자원들이 급격히 높아지기 위해 어떤 서비스로 인해 우리는 타점 서비스에 가입했다.시나리오: prometheus을 시차 데이터베이스로 한다.pushgateway은 prometheus 시퀀스 데이터베이스의 스위치이다.grafana 전시 alertmanager + 스파이크, 경고 이 내용에 흥미가 있습니까?
현재 기사가 여러분의 문제를 해결하지 못하는 경우 AI 엔진은 머신러닝 분석(스마트 모델이 방금 만들어져 부정확한 경우가 있을 수 있음)을 통해 가장 유사한 기사를 추천합니다:
프로젝트 경험helm 노드의 탄성 신축, 클라우드 호스트에 대한 탄성 신축을 이용하여 알리 클라우드 로그 서비스 은 jenkins shell 또는 drone을 사용할 수 있습니다. 이것은 클라우드 서비스 업체가 제공하는 서비스입...
텍스트를 자유롭게 공유하거나 복사할 수 있습니다.하지만 이 문서의 URL은 참조 URL로 남겨 두십시오.
CC BY-SA 2.5, CC BY-SA 3.0 및 CC BY-SA 4.0에 따라 라이센스가 부여됩니다.