LoginSignup
0
0

More than 5 years have passed since last update.

newrelicの不要になったサーバーのレポートを削除

Posted at

image

そもそも消さなくていい

別にじゃまにならないし、検索のときに引っかかる数がすくなるくらいのメリットしかないです。
監査的なものがあるなら、むしろ消してはだめかも。
利用する時は自己責任で。

経緯

数年くらいまえに、これきになるから消す方法ないかな?って言われて書捨てスクリプトを書いたのが、
PC整理していたらでてきたので、共有しとこうと。

ruby clean_newrelic.rbで実行できる。(自己責任で!!)

clean_newrelic.rb
require 'net/http'
require 'uri'
require 'json'

BASE_URI = 'https://api.newrelic.com/v2/servers.json'.freeze
API_KEY = 'user_api_key'.freeze


def get_json(uri)
  req = Net::HTTP::Get.new uri
  req['X-Api-Key'] = API_KEY
  response =
    Net::HTTP.start(uri.host, uri.port, use_ssl: uri.scheme == 'https') do |http|
      http.open_timeout = 5
      http.read_timeout = 10
      http.request req
    end
  json = response.body
  JSON.parse(json)
end

def delete_server(server_id)
  %x(curl -s -X DELETE "https://api.newrelic.com/v2/servers/#{server_id}.json" -H "X-Api-Key:#{API_KEY}" -i)
end

# 一回に取得できるサーバー情報が200で,
# limitを増やすやり方が分からなかったので、loopしてます。
# filter的なパラメータで絞っても効かなかった。
# 参考 https://docs.newrelic.com/docs/apis/rest-api-v2/requirements/new-relic-rest-api-v2-getting-started
2.times do
  results = get_json(URI.parse(BASE_URI))
  Array(results['servers']).each do |server|
    if !server['reporting'] && server['id']
      delete_server server['id']
      print '.'
    else
      print 'F'
    end
  end
end

0
0
0

Register as a new user and use Qiita more conveniently

  1. You get articles that match your needs
  2. You can efficiently read back useful information
  3. You can use dark theme
What you can do with signing up
0
0