ホスト名を使用するデータが挿入されています。厄介なことに、ドメインを.lanから.mydomain.comに変更しようとしています
明らかに、マシンがこの変更を通過するときに、マシンの履歴データを検索できるようにしたいと思います。
タグ定義をmachine.lanからmachine.mydomain.comに更新できますか?
@Michaelの答えは正しいですが、InfluxDBコマンドを介してタグ値を変更することはできませんが、測定に "duplicate" ポイントを挿入することでタグの値を変更できるクライアントスクリプトを作成できます。タイムスタンプ、フィールドセット、タグセットは同じですが、目的のタグの値が変更されます。
間違ったタグのあるポイント( ラインプロトコル 形式):
cpu,hostname=machine.lan cpu=50 1514970123
実行した後
INSERT cpu,hostname=machine.mydomain.com cpu=50 1514970123
sELECT * FROM CPUには
cpu,hostname=machine.lan cpu=50 1514970123
cpu,hostname=machine.mydomain.com cpu=50 1514970123
スクリプトがすべてのINSERTコマンドを実行した後、古いタグ値を持つ古い一連のポイントを削除する必要があります。
DROP SERIES FROM cpu WHERE hostname='machine.lan'
もちろん、これは非常に非効率的です(特に このバグ に注意してください)。タグ値を ドロップしたくない他のポイントにすでにある別のタグ値に更新する必要がある場合) 、単にDROP SERIES
。したがって、 InfluxDBがタグの名前変更を実装するための投票 、特にWHERE
クエリに基づいてタグ値を変更してください。または、通常のSQLを使用できる Timescale などの代替の時系列データベースを検討してください。
残念ながら、InfluxDBの履歴データのタグ名を変更する方法はありません。
これについては、GitHubにオープン機能のリクエストがすでにあります。 https://github.com/influxdata/influxdb/issues/4157
すべてをダンプし、変更し、パスを再インポートする場合(残忍ですが効果的)、influx開発者が提案する可能性のある解決策です。このコメントが役立つ場合があります。
https://github.com/influxdata/influxdb/issues/3904#issuecomment-26891861