2017-02-20 5 views
0

docker-compose.ymlが動作しない理由を知るには少し助けが必要です。私はGrafana、Prometheus、nodeexporter、cAdvisor、alertManagerを作っているdocker-compose.ymlを持っているので、Grafanaを使わずにGrafanaを実行したいのですが、Grafanaのファイルをすべて削除しましたが、仕事はありません。私のdocker-compose.ymlファイルで何が間違っていますか?

作品1:

version: '2' 

networks: 
    monitor-net: 
    driver: bridge 

volumes: 
    prometheus_data: {} 
    grafana_data: {} 

services: 

    prometheus: 
    image: prom/prometheus 
    container_name: prometheus 
    volumes: 
     - ./prometheus/:/etc/prometheus/ 
     - prometheus_data:/prometheus 
    command: 
     - '-config.file=/etc/prometheus/prometheus.yml' 
     - '-storage.local.path=/prometheus' 
     - '-alertmanager.url=http://alertmanager:9093' 
     - '-storage.local.memory-chunks=100000' 
    restart: unless-stopped 
    expose: 
     - 9090 
    ports: 
     - 9090:9090 
    networks: 
     - monitor-net 
    labels: 
     org.label-schema.group: "monitoring" 

    alertmanager: 
    image: prom/alertmanager 
    container_name: alertmanager 
    volumes: 
     - ./alertmanager/:/etc/alertmanager/ 
    command: 
     - '-config.file=/etc/alertmanager/config.yml' 
     - '-storage.path=/alertmanager' 
    restart: unless-stopped 
    expose: 
     - 9093 
    ports: 
     - 9093:9093 
    networks: 
     - monitor-net 
    labels: 
     org.label-schema.group: "monitoring" 

    nodeexporter: 
    image: prom/node-exporter 
    container_name: nodeexporter 
    restart: unless-stopped 
    expose: 
     - 9100 
    networks: 
     - monitor-net 
    labels: 
     org.label-schema.group: "monitoring" 

    cadvisor: 
    image: google/cadvisor:v0.24.1 
    container_name: cadvisor 
    volumes: 
     - /:/rootfs:ro 
     - /var/run:/var/run:rw 
     - /sys:/sys:ro 
     - /var/lib/docker/:/var/lib/docker:ro 
    restart: unless-stopped 
    expose: 
     - 8080 
    networks: 
     - monitor-net 
    labels: 
     org.label-schema.group: "monitoring" 

    grafana: 
    image: grafana/grafana 
    container_name: grafana 
    volumes: 
     - grafana_data:/var/lib/grafana 
    env_file: 
     - user.config 
    restart: unless-stopped 
    expose: 
     - 3000 
    ports: 
     - 3000:3000 
    networks: 
     - monitor-net 
    labels: 
     org.label-schema.group: "monitoring" 

動作しない1:

version: '2' 

networks: 
    monitor-net: 
    driver: bridge 

volumes: 
    prometheus_data: {} 

services: 

    prometheus: 
    image: prom/prometheus 
    container_name: prometheus 
    volumes: 
     - ./prometheus/:/etc/prometheus/ 
     - prometheus_data:/prometheus 
    command: 
     - '-config.file=/etc/prometheus/prometheus.yml' 
     - '-storage.local.path=/prometheus' 
     - '-alertmanager.url=http://alertmanager:9093' 
     - '-storage.local.memory-chunks=100000' 
    restart: unless-stopped 
    expose: 
     - 9090 
    ports: 
     - 9090:9090 
    networks: 
     - monitor-net 
    labels: 
     org.label-schema.group: "monitoring" 

    alertmanager: 
    image: prom/alertmanager 
    container_name: alertmanager 
    volumes: 
     - ./alertmanager/:/etc/alertmanager/ 
    command: 
     - '-config.file=/etc/alertmanager/config.yml' 
     - '-storage.path=/alertmanager' 
    restart: unless-stopped 
    expose: 
     - 9093 
    ports: 
     - 9093:9093 
    networks: 
     - monitor-net 
    labels: 
     org.label-schema.group: "monitoring" 

    nodeexporter: 
    image: prom/node-exporter 
    container_name: nodeexporter 
    restart: unless-stopped 
    expose: 
     - 9100 
    networks: 
     - monitor-net 
    labels: 
     org.label-schema.group: "monitoring" 

    cadvisor: 
    image: google/cadvisor 
    container_name: cadvisor 
    volumes: 
     - /:/rootfs:ro 
     - /var/run:/var/run:rw 
     - /sys:/sys:ro 
     - /var/lib/docker/:/var/lib/docker:ro 
    restart: unless-stopped 
    expose: 
     - 8080 
    networks: 
     - monitor-net 
    labels: 
     org.label-schema.group: "monitoring" 

を秒1でプロメテウスが実行できないとログがあるコンテナ

level=info msg="Starting prometheus (version=1.5.2, branch=master, revision=bd1182d29f462c39544f94cc822830e1c64cf55b)" source="main.go:75" 
level=info msg="Build context (go=go1.7.5, [email protected], date=20170220-07:00:00)" source="main.go:76" 
level=info msg="Loading configuration file /etc/prometheus/prometheus.yml" source="main.go:248" 
level=error msg="Error opening memory series storage: leveldb: manifest corrupted (field 'comparer'): missing [file=MANIFEST-000009]" source="main.go:182" 
+0

「動作しません」とは、まったく何を意味していますか? – Henry

+0

@Henryそれは、マニフェストが壊れているため、Prometheusが実行できないコンテナがすべて動作していることを意味します。 – Jerome

答えて

0

プロメテウスが少なくとも起動してからエラーが出るという事実は、あなたの作成ファイルがおそらく正しいことを意味します。

少なくとも、構成ファイル/etc/prometheus/prometheus.ymlをロードしようとしているようですが、そのようには失敗します。

composeファイルには、ホストシステムに存在することが予想されるホストボリュームが追加されています(./prometheus/)。このフォルダとその内容もコピーしましたか?はいの場合は、設定が正しいことを確認し、Grafanaなしで動作することが期待されますか?また、docker-composeを実行するときに現在のディレクトリが何であるかが重要です。ディレクトリが./prometheus/のディレクトリでなければなりません。

+0

あなたの答えに感謝します:)今私はあなたの答えは、はい、私はフォルダと彼のコンテンツをコピーします。設定ファイルは、作業中のymlを含むフォルダ内のものと同じです。はい、私は 'docker-compose'を実行するとymlファイルのディレクトリにいます。あなたが私に与えたアドバイスで何かを見つけることができるかどうか検索します – Jerome

+0

あなたがチェックすべきもう一つの事はprometheus_dataです。ドッカーが内部的にボリュームをどのように作成するのか、特に(コンテナのように)作成するプロジェクト名が前に付いているかどうかはわかりません。私はしばらくの間composeを使用しましたが、このatmを確認することはできません。 'docker volume ls'があなたに与えるものとprometheus_dataが何回か見つかったか確認してください。一度しか見つからない場合は、両方の作成ファイルが同じボリュームを共有しているため、おそらくエラーが発生している可能性があります。 2つが表示されている場合は、動作していない作成ファイルに対応するものを削除してから、プロメテウスを再試行してください。 –

+0

ボリュームを削除してからもう一度作成して、今すぐ動作します!どうもありがとうございます – Jerome

関連する問題