0
特有の問題。なんらかの理由で、stdoutの値が正しく認識されていません。私がしようとしているのは、耳にしているポートの値をgrepしてマッチさせることです。定義されたポートが存在する場合(すなわち、1つのメッセージが生成された場合はそれを聴取し、そうでない場合は別のメッセージを生成する)。ここでstdoutが正しく渡されていませんか?
---
- name: check_prometheus_status_kafka
shell: /usr/sbin/ss -lnt|awk '{ print $4}'|grep 9071 |sed 's/\*//'| sed 's/\://'
register: prom_status
- debug: var=prom_status.stdout
tags:
- check_prometheus_status_kafka
- name: post_message_prom_kafka
debug: msg="Prometheus for Kafka {{ (kafka_prom_port == prom_status.stdout) | ternary ('', 'NOT') }} listening on {{ kafka_prom_port }} - Current Listen value is {{ prom_status.stdout }}"
tags:
- post_message_prom_kafka
が出力されます:
TASK [kafkanodes : check_prometheus_status_kafka] **********************************************************************************************************
changed: [mifid-cnj-prod-k1.bnymellon.net]
TASK [kafkanodes : debug] **********************************************************************************************************************************
ok: [mifid-cnj-prod-k1.bnymellon.net] => {
"prom_status.stdout": "9071"
}
TASK [kafkanodes : post_message_prom_kafka] ****************************************************************************************************************
ok: [mifid-cnj-prod-k1.bnymellon.net] => {
"msg": "Prometheus for Kafka NOT listening on 9071 - Current Listen value is 9071"
}
あなたが見ることができるように、Ansibleは、前のタスクが明示的にポートが「9071
に耳を傾けていることを私に伝えながらポートは、上のlistendされていないことを報告しています'(同様に、prom_status.stdout
から値を取得する現在のタスクは私にポートの値を示しています)。今
、私はこの行を交換する場合:それが動作する...
debug: msg="Prometheus for Kafka {{ (kafka_prom_port == 9071) | ternary ('', 'NOT') }} listening on {{ kafka_prom_port }} - Current Listen value is {{ prom_status.stdout }}"
:これで...
debug: msg="Prometheus for Kafka {{ (kafka_prom_port == prom_status.stdout) | ternary ('', 'NOT') }} listening on {{ kafka_prom_port }} - Current Listen value is {{ prom_status.stdout }}"
を。何が私はここで行方不明ですか?
おかげさまでもう一度お手伝いします。
アレックス
は
SpasiboのKostya !! – user2362699