Scalaå¢ããã ã¾ããã§ã«ããã«çãä¸ãã£ã¦ããã
ãªãã»ã©ãã ã¾ããã
ä¸ã®ä¸çã«ãã ã¾ããã®æ²ããæ¯æ¥ã©ã®ãããè´ããã¦ããã®ãæ°ã«ãªã£ãã®ã§ãYoutubeã®åçåæ°ãMackerelã§å¯è¦åãã¦ã¿ããã
Youtube APIã§åçåæ°ãåå¾ãã
Youtube APIãå©ç¨ããã«ã¯ãã¾ãGoogle Developer Consoleã§APIãã¼ãçºè¡ãããã
Developer Consoleã§ããã¸ã§ã¯ãã使ãã"YouTube Data API v3" ãæå¹åãããããã¨YouTubeãããã¼ã¿ãåå¾ããããã®APIãã¼ãçºè¡ã§ããããã«ãªãã
APIãã¼ã«ã¯ããã©ã¦ã¶ç¨ããµã¼ãã¼ç¨ãªã©ããã¤ãã®ç¨®é¡ããããããã¯ããªãã¡ã©ã¼ãIPã¢ãã¬ã¹ã«ãã£ã¦APIã¢ã¯ã»ã¹ãå¶éããããã®ä½¿ãåãã§ãã¼ãã¯ãµã¼ãã¼ç¨ã鏿ãã¦èªåãå©ç¨ãã¦ããEC2ã¤ã³ã¹ã¿ã³ã¹ã®IPã¢ãã¬ã¹ãéããã
APIãã¼ããåå¾ã§ããã°ãåç»ã®åçåæ°ã¯ä»¥ä¸ã®URLããåå¾ã§ããã
https://www.googleapis.com/youtube/v3/videos?part=statistics&id={åç»ã®ID}&fields=items%2Fstatistics&key={APIãã¼}
ãã¨ãã°ããã®è¨äºãæ¸ãã¦ããä»ããé¢ç½å®£è¨ãã®æ å ±ãåå¾ããã¨ä»¥ä¸ã®æ§ãªçµæããããã
$ curl -X GET 'https://www.googleapis.com/youtube/v3/videos?part=statistics&id=tsXkp9FVzgg&fields=items%2Fstatistics&key={APIãã¼}' { "items": [ { "statistics": { "viewCount": "786716", "likeCount": "1436", "dislikeCount": "105", "favoriteCount": "0", "commentCount": "121" } } ] }
ãã®viewCount
ãåçåæ°ã ããããMackerelã«ãã¹ããããã
Mackerelã®ãµã¼ãã¹ã¡ããªãã¯ã¸ã®ãã¹ã
Mackerelã«ã¯ãµã¼ãã¹ã¡ããªãã¯ã¨ããæ©è½ããã£ã¦ãããã¯ãã¹ãã«ä¾åããªãä»»æã®å¤ããã¹ããã¦ã°ã©ãåã§ããæ©è½ã ã
Mackerelã®ç»é¢ãããµã¼ãã¹ã使ããã¨ã以ä¸ã®APIã使ã£ã¦ããã«ã¡ããªãã¯ããã¹ãã§ããã
http://help-ja.mackerel.io/entry/spec/api/v0#service-metric-value-post
ãã¦ãYoutubeã®APIããåå¾ããviewCountãMackerelã«ãã¹ããã¦ã¿ãããéã«ã³ã¼ããæ¸ãã¦ã¿ãã
post_uri = URI.parse('https://mackerel.io/api/v0/services/masashi/tsdb') https = Net::HTTP.new(post_uri.host, post_uri.port) https.use_ssl = true req = Net::HTTP::Post.new(post_uri.request_uri) req["Content-Type"] = "application/json" req["X-Api-Key"] = "{api_key}" payload = [{ "name" => "masashi.kanpaku", "time" => Time.now.to_i, "value" => view_count.to_i }].to_json req.body = payload res = https.request(req)
ãããªæãã§Mackerelã«ãã¹ãããã¹ã¯ãªãããä½ããæ¯ååããã¦ã¿ããã10åãããå¾ ã¤ã¨ã°ã©ããæç»ããã¯ãããã
ã°ã©ããå¹³å¦ãããï¼ï¼ï¼ï¼
ã¨ã¯ãããã£ã¨ã¡ããªãã¯ãã¨ã£ã¦ããã¨ã1æéã§50åãã¤ãããåçåæ°ã伸ã³ã¦ããã®ãããã£ãã æå¤ã¨åçããã¦ãã
Mackerelã«ã¯ã°ã©ãã1åãã¨ã®å·®åå¤ã§è¡¨ç¤ºããè¨å®ãããã
ãã®è¨å®ã«åãæ¿ãã¦ã°ã©ããã¿ã¦ã¿ãã¨ããã
ãªãã»ã©ããã£ãã宿çã«åçåæ°ã伸ã³ã¦ãã