[elk] dockerhub 이미지의 pull 수를 ELK로 추적
6286 단어 DockerHubElasticsearch시각화
배경
dockerhub에 이미지를 출시하면 dockerhub 사이트에서와 같이 풀 수를 볼 수 있습니다.
랩 환경에서 프로젝트의 다양한 메트릭을 관리하는 가운데, 이 pull수도 가시화하고 싶다. 이 수는 dockerhub API에서 가지고 간다. 또, 이미 프로젝트의 메트릭은 ELK의 대시보드로 관리되기 때문에, 이 수도 거기에 가고 싶다. 여기서, 그 방법을 정리한다.
환경
색인 생성
다음 스크립트에서 ELK에서 dockerhub-track
라는 색인 생성
$ curl -XPUT "http://10.128.64.200:9200/dockerhub-track" -H 'Content-Type: application/json' -d'
{
"settings": {
"number_of_shards": 3,
"number_of_replicas" : 2
},
"mappings": {
"dockerhub": {
"properties": {
"download": { "type" : "integer" },
"created": { "type": "date"}
}
}
}
}'
UPDATE : ELS 7.x부터 위의 스키마는 더 이상 사용할 수 없습니다.
다음으로, kibana의 index mamangement에서, 새로운 패턴을 작성해, created
를 time filter field
로 한다.
데이터 업데이트
ELK의 index로 데이터를 업데이트하는 스크립트를 작성한다. 예를 들어, /home/user/script/update.sh
update.sh#!/bin/sh
#
PROXY=""
DOCKER_URL="https://hub.docker.com/v2/repositories/username/project/"
PULL=$(curl -s -x $PROXY $DOCKER_URL | jq .pull_count)
DATE=$(date -u +"%Y-%m-%dT%H:%M:%S")
echo $PULL
echo $DATE
# DATE is in UTC
curl -s -XPOST $DOCKER_URL -H 'Content-Type: application/json' -d "{\"download\": $PULL,\"created\":\"$DATE\"}"
DOCKER_URL
를 username
및 project
에 맞추고 변경합니다. dockerhub의 project에 관한 정보는 이하의 api로 취할 수 있다.
https://hub.docker.com/v2/repositories/username/project/
또한 실험실 환경에 프록시가 필요한 경우 PROXY
를 URL을 대체해야합니다. 예를 들어,
PROXY="http://10.128.3.103:8080"
이 스크립트를 cron에 매시간 실행하도록 한다. 예를 들어,
0 * * * * /home/user/script/update.sh > /dev/null 2>&1
이것으로 준비가 완료되었습니다. 나머지는, kibana에 전통적으로, dockerhub-track
의 metric visual를 사로잡는 경우에, dockerhub의 pull의 수를 추적할 수 있다.
요약
dockerhub의 API를 사용하여 풀 수를 ELK로 카운터 표시하는 방법을 설명했다. 이와 같이 프로젝트의 다양한 정보를 ELK로 가시화할 수 있다.
Reference
이 문제에 관하여([elk] dockerhub 이미지의 pull 수를 ELK로 추적), 우리는 이곳에서 더 많은 자료를 발견하고 링크를 클릭하여 보았다
https://qiita.com/bachng/items/b5cc0894439f9237ea81
텍스트를 자유롭게 공유하거나 복사할 수 있습니다.하지만 이 문서의 URL은 참조 URL로 남겨 두십시오.
우수한 개발자 콘텐츠 발견에 전념
(Collection and Share based on the CC Protocol.)
$ curl -XPUT "http://10.128.64.200:9200/dockerhub-track" -H 'Content-Type: application/json' -d'
{
"settings": {
"number_of_shards": 3,
"number_of_replicas" : 2
},
"mappings": {
"dockerhub": {
"properties": {
"download": { "type" : "integer" },
"created": { "type": "date"}
}
}
}
}'
ELK의 index로 데이터를 업데이트하는 스크립트를 작성한다. 예를 들어,
/home/user/script/update.sh
update.sh
#!/bin/sh
#
PROXY=""
DOCKER_URL="https://hub.docker.com/v2/repositories/username/project/"
PULL=$(curl -s -x $PROXY $DOCKER_URL | jq .pull_count)
DATE=$(date -u +"%Y-%m-%dT%H:%M:%S")
echo $PULL
echo $DATE
# DATE is in UTC
curl -s -XPOST $DOCKER_URL -H 'Content-Type: application/json' -d "{\"download\": $PULL,\"created\":\"$DATE\"}"
DOCKER_URL
를 username
및 project
에 맞추고 변경합니다. dockerhub의 project에 관한 정보는 이하의 api로 취할 수 있다.https://hub.docker.com/v2/repositories/username/project/
또한 실험실 환경에 프록시가 필요한 경우
PROXY
를 URL을 대체해야합니다. 예를 들어,PROXY="http://10.128.3.103:8080"
이 스크립트를 cron에 매시간 실행하도록 한다. 예를 들어,
0 * * * * /home/user/script/update.sh > /dev/null 2>&1
이것으로 준비가 완료되었습니다. 나머지는, kibana에 전통적으로,
dockerhub-track
의 metric visual를 사로잡는 경우에, dockerhub의 pull의 수를 추적할 수 있다.요약
dockerhub의 API를 사용하여 풀 수를 ELK로 카운터 표시하는 방법을 설명했다. 이와 같이 프로젝트의 다양한 정보를 ELK로 가시화할 수 있다.
Reference
이 문제에 관하여([elk] dockerhub 이미지의 pull 수를 ELK로 추적), 우리는 이곳에서 더 많은 자료를 발견하고 링크를 클릭하여 보았다
https://qiita.com/bachng/items/b5cc0894439f9237ea81
텍스트를 자유롭게 공유하거나 복사할 수 있습니다.하지만 이 문서의 URL은 참조 URL로 남겨 두십시오.
우수한 개발자 콘텐츠 발견에 전념
(Collection and Share based on the CC Protocol.)
Reference
이 문제에 관하여([elk] dockerhub 이미지의 pull 수를 ELK로 추적), 우리는 이곳에서 더 많은 자료를 발견하고 링크를 클릭하여 보았다 https://qiita.com/bachng/items/b5cc0894439f9237ea81텍스트를 자유롭게 공유하거나 복사할 수 있습니다.하지만 이 문서의 URL은 참조 URL로 남겨 두십시오.
우수한 개발자 콘텐츠 발견에 전념 (Collection and Share based on the CC Protocol.)