From 08adaae29b814275e43bf94556679de3d941afe2 Mon Sep 17 00:00:00 2001 From: Alan Orth Date: Mon, 24 Feb 2020 19:15:05 +0200 Subject: [PATCH] Update notes for 2020-02-24 --- content/posts/2020-02.md | 52 +++++++++++- docs/2018-10/index.html | 4 +- docs/2019-05/index.html | 6 +- docs/2020-02/index.html | 117 +++++++++++++++++++++++++- docs/2020/02/cgspace-stats-after.png | Bin 0 -> 3911 bytes docs/2020/02/cgspace-stats-before.png | Bin 0 -> 3533 bytes docs/2020/02/cgspace-stats-years.png | Bin 0 -> 4125 bytes docs/sitemap.xml | 14 +-- 8 files changed, 176 insertions(+), 17 deletions(-) create mode 100644 docs/2020/02/cgspace-stats-after.png create mode 100644 docs/2020/02/cgspace-stats-before.png create mode 100644 docs/2020/02/cgspace-stats-years.png diff --git a/content/posts/2020-02.md b/content/posts/2020-02.md index 2b2162ad9..8b446eb43 100644 --- a/content/posts/2020-02.md +++ b/content/posts/2020-02.md @@ -717,6 +717,56 @@ Total number of bot hits purged: 5535399 ![CGSpace stats by year since 2011 after the purge](/cgspace-notes/2020/02/cgspace-stats-years.png) -- I'm a little suspicious of the 2012, 2013, and 2014 numbers though, I should facet those years by IP and see if there were any large ones +- I'm a little suspicious of the 2012, 2013, and 2014 numbers, though + - I should facet those years by IP and see if any stand out... +- The next thing I need to do is figure out why the nginx IP to bot mapping isn't working... + - Actually, and I've probably learned this before, but the bot mapping is working, but nginx only logs the real user agent (of course!), as I'm only using the mapped one in the proxy pass... + - This trick for adding a header with the mapped "ua" variable is nice: + +``` +add_header X-debug-message "ua is $ua" always; +``` + +- Then in the HTTP response you see: + +``` +X-debug-message: ua is bot +``` + +- So the IP to bot mapping is working, phew. +- More bad news, I checked the remaining IPs in our existing bot IP mapping, and there are statistics registered for them! + - For example, ciat.cgiar.org was previously 104.196.152.243, but it is now 35.237.175.180, which I had noticed as a "mystery" client on Google Cloud in 2018-09 + - Others I should probably add to the nginx bot map list are: + - wle.cgiar.org (70.32.90.172) + - ccafs.cgiar.org (205.186.128.185) + - another CIAT scraper using the PHP GuzzleHttp library (45.5.184.72) + - macaronilab.com ([63.32.242.35](https://viewdns.info/reverseip/?host=63.32.242.35&t=1)) + - africa-rising.net ([162.243.171.159](https://viewdns.info/reverseip/?host=162.243.171.159&t=1) +- These IPs are all active in the REST API logs over the last few months and they account for *thirty-four million* more hits in the statistics! +- I purged them from CGSpace: + +``` +$ ./check-spider-ip-hits.sh -u http://localhost:8081/solr -f /tmp/ips.txt -s statistics -p +Purging 15 hits from 104.196.152.243 in statistics +Purging 61064 hits from 35.237.175.180 in statistics +Purging 1378 hits from 70.32.90.172 in statistics +Purging 28880 hits from 205.186.128.185 in statistics +Purging 464613 hits from 63.32.242.35 in statistics +Purging 131 hits from 162.243.171.159 in statistics + +Total number of bot hits purged: 556081 +$ ./check-spider-ip-hits.sh -u http://localhost:8081/solr -f /tmp/ips.txt -s statistics-2018 -p +Purging 684888 hits from 104.196.152.243 in statistics-2018 +Purging 323737 hits from 35.227.26.162 in statistics-2018 +Purging 221091 hits from 35.237.175.180 in statistics-2018 +Purging 3834 hits from 205.186.128.185 in statistics-2018 +Purging 20337 hits from 63.32.242.35 in statistics-2018 + +Total number of bot hits purged: 1253887 +$ ./check-spider-ip-hits.sh -u http://localhost:8081/solr -f /tmp/ips.txt -s statistics-2017 -p +Purging 1752548 hits from 104.196.152.243 in statistics-2017 + +Total number of bot hits purged: 1752548 +``` diff --git a/docs/2018-10/index.html b/docs/2018-10/index.html index c8d9f2bef..a657c630d 100644 --- a/docs/2018-10/index.html +++ b/docs/2018-10/index.html @@ -14,7 +14,7 @@ I created a GitHub issue to track this #389, because I’m super busy in Nai - + @@ -35,7 +35,7 @@ I created a GitHub issue to track this #389, because I’m super busy in Nai "url": "https:\/\/alanorth.github.io\/cgspace-notes\/2018-10\/", "wordCount": "4518", "datePublished": "2018-10-01T22:31:54+03:00", - "dateModified": "2019-10-28T13:39:25+02:00", + "dateModified": "2020-02-23T20:10:47+02:00", "author": { "@type": "Person", "name": "Alan Orth" diff --git a/docs/2019-05/index.html b/docs/2019-05/index.html index bd260ecb7..24613748c 100644 --- a/docs/2019-05/index.html +++ b/docs/2019-05/index.html @@ -25,7 +25,7 @@ But after this I tried to delete the item from the XMLUI and it is still present - + @@ -57,7 +57,7 @@ But after this I tried to delete the item from the XMLUI and it is still present "url": "https:\/\/alanorth.github.io\/cgspace-notes\/2019-05\/", "wordCount": "3190", "datePublished": "2019-05-01T07:37:43+03:00", - "dateModified": "2019-10-28T13:39:25+02:00", + "dateModified": "2020-02-24T18:07:35+02:00", "author": { "@type": "Person", "name": "Alan Orth" @@ -349,7 +349,7 @@ $ cat dspace.log.2019-05-01 | grep -E '2019-05-01 (02|03|04|05|06):' | grep -o - 3 2a01:7e00::f03c:91ff:fe0a:d645 113 63.32.242.35 - +
$ curl -s 'http://localhost:8081/solr/statistics/select?q=time:2020-02-23*+AND+statistics_type:view&fq=ip:78.128.99.24&rows=10&wt=json&indent=true' | grep numFound
+  "response":{"numFound":12,"start":0,"docs":[
+$ curl -s 'https://dspacetest.cgiar.org/rest/items?expand=metadata,bitstreams,parentCommunityList&limit=50&offset=82450'
+$ curl -s 'http://localhost:8081/solr/statistics/update?softCommit=true'
+$ curl -s 'http://localhost:8081/solr/statistics/select?q=time:2020-02-23*+AND+statistics_type:view&fq=ip:78.128.99.24&rows=10&wt=json&indent=true' | grep numFound
+  "response":{"numFound":62,"start":0,"docs":[
+
+

2020-02-24

+ +
$ http 'http://localhost:8081/solr/statistics/select?q=ip:34.218.226.147+OR+ip:172.104.229.92&rows=0&wt=json&indent=true' | grep numFound
+  "response":{"numFound":42395486,"start":0,"docs":[]
+
+
$ ./check-spider-ip-hits.sh -u http://localhost:8081/solr -f 2020-02-24-bot-ips.txt -s statistics -p
+Purging 22809216 hits from 34.218.226.147 in statistics
+Purging 19586270 hits from 172.104.229.92 in statistics
+Purging 111137 hits from 2a01:7e00::f03c:91ff:fe9a:3a37 in statistics
+Purging 271668 hits from 2a01:7e00::f03c:91ff:fe18:7396 in statistics
+
+Total number of bot hits purged: 42778291
+$ ./check-spider-ip-hits.sh -u http://localhost:8081/solr -f 2020-02-24-bot-ips.txt -s statistics-2018 -p
+Purging 5535399 hits from 34.218.226.147 in statistics-2018
+
+Total number of bot hits purged: 5535399
+
+

CGSpace stats for 2019 and 2020 before the purge

+

CGSpace stats for 2019 and 2020 after the purge

+ +

CGSpace stats by year since 2011 after the purge

+ +
add_header X-debug-message "ua is $ua" always;
+
+
X-debug-message: ua is bot
+
+
$ ./check-spider-ip-hits.sh -u http://localhost:8081/solr -f /tmp/ips.txt -s statistics -p
+Purging 15 hits from 104.196.152.243 in statistics
+Purging 61064 hits from 35.237.175.180 in statistics
+Purging 1378 hits from 70.32.90.172 in statistics
+Purging 28880 hits from 205.186.128.185 in statistics
+Purging 464613 hits from 63.32.242.35 in statistics
+Purging 131 hits from 162.243.171.159 in statistics
+
+Total number of bot hits purged: 556081
+$ ./check-spider-ip-hits.sh -u http://localhost:8081/solr -f /tmp/ips.txt -s statistics-2018 -p
+Purging 684888 hits from 104.196.152.243 in statistics-2018
+Purging 323737 hits from 35.227.26.162 in statistics-2018
+Purging 221091 hits from 35.237.175.180 in statistics-2018
+Purging 3834 hits from 205.186.128.185 in statistics-2018
+Purging 20337 hits from 63.32.242.35 in statistics-2018
+
+Total number of bot hits purged: 1253887
+$ ./check-spider-ip-hits.sh -u http://localhost:8081/solr -f /tmp/ips.txt -s statistics-2017 -p
+Purging 1752548 hits from 104.196.152.243 in statistics-2017
+
+Total number of bot hits purged: 1752548
+
diff --git a/docs/2020/02/cgspace-stats-after.png b/docs/2020/02/cgspace-stats-after.png new file mode 100644 index 0000000000000000000000000000000000000000..850527067f50ee9c108a74a1eedc9437f18723d2 GIT binary patch literal 3911 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 eNvCq4FAz@e?!w#4=*r+}eCwagt`F1z literal 0 HcmV?d00001 diff --git a/docs/2020/02/cgspace-stats-before.png b/docs/2020/02/cgspace-stats-before.png new file mode 100644 index 0000000000000000000000000000000000000000..dc0caac85d1050ea253c23fedd9a4ff5ce53ea6d GIT binary patch literal 3533 zcmbVP2{@E{7k_7%5fL%g3EA>?+h!1%NtP@bUCrbsD%tMHwH2X=Yix--2!oVm25GZo z$z%wX+35f zCYG0%cjLy5g@uLU;$mT8VOd#ONlD4{^z@;jp~b~TYisN3nn!RrTt`O-gTZKMXtcGp zZQZ){@slTPHhXk*w6wHTNJ!}F)vKzis@mGxO-)TK7VGuv*IX`FTwI*VWEvYAM@B~O z-@o6|(sF)&J~T8mKR@5b#%6VO^-*nIaBy%+N(u;qCr+H0nwpA_kH2&0&dkhAZ*Q-U zkB_3FVnIQ{z`%fqhetp_Kt)9b3Wb`Up6=-Ah>ni#>gpns$qWW#Vq#*3cE1+@MExyI zjlaA2^8Jv|NscW#X4a-_zS8ZWNwVHWSW}8~+c`UDj&s!JjSb z%i1w773F)ombiAf_NQusDp3+98&t;jnzh8BqiVK+^@1Wq3LHguN6X>|PEXbK2lJ@8u_aXd$*h-y7eQ^ht@gQUXbq>OSlyZpND_cpavpF8`(ma~ZE7=iF@34MSXX^ddiU80@<1Tfe)fa(_6t2{CH)SEhMDBV z6%;-;65dP0Z`ZyQE6wFKhE&o+bh~v9%(H-iL$)$Bu!PDg(6 z)v?v??64MA?Wk3-g-o=2OErh)oabu3SR6LrP}n`&BBdQy=?#Yw9(HQ&Ce*QQFZJEb zB%M*;Rwp}OAiI#6bca}(GiPnoZoLaz zBnK^x&Z*wZvK=ozV_h}Hb{|&1xqK|6b~(s4c*D(6>G5~wbv8KE2=URBJa#7dqn<RotX>8a`F-(A7LJ;1~QcG8QG<}*GSh$nSMd6GmspKx>cQhgg5^# zwXoJ0CP##>`Qn-h#e~m%$l7oI@E!c>b$u%=g(?TAo1Bb%qdQ;G1>}gQ7!@1q-}VWh z7CcdTd=y>JiAQfrZFhe!h}r`>K5sWfTe)gZ zmgFBdh+jA^u~%Q9a4N}d78{>+jWjqDoKG*6A}$*wKS8W*#fzdh+ z2CW`J{$2$T9I^T|?~;>VbfB?s!yhVy4;4X9r2ffE$c@n5z(!9Y4E9@na{9Dz9-`yTvQ8{Lz2|6mP@ExZrX%!-WnAgVO42(?x(N=o_U) zN9g?*R=-Zyzsm7C^Jb$USOPfEJ+l#CcBQjlk;^_{z@!MiGFdNCCf&P z(ylH;+`C|mgKjW6K8>fuk9R?4Yw4y; zvDTxV+ck}TRwDSL@d#p#8O&~r8?ClYb~b~Q%Yit}SqkUps%sO1H{ z`F{yaG-5zSQOnOvNVK0A{c~Iq@ZNQ4bTHRdpmHpCX{ouQ^@mwnEK&>>3#cRC05Bm z@Fu5*t>zb%Rr}lA^rEM(7yYJ?uym3-er8@Th;30k`Id$QJ1a*2vnBD+8Wzw2eGvE67)%=7QJxZ9s zV=8XLKg(Lam9c$w*T~@l` z$GpR=NK6mC^Q{fr>|z`W5CrLC%mbRA3KNwwlqE+(yjCqd`$HxZBXb`dNe~l@*NECD zchY`9U&2Kvi{)XjY{1w3WmVGUe2%=vAd%{c(pNQAbB!#!xnD2UGnsui0ISU+Pp2F= zS$2@k_1W*3Q`BEVdRg5w+UB_DN;R5p>S|t^L*_2p1wBKFAne`6_dz}5BrkuiD*3K3 zNjrPT;;A4G&h!#9Ff;GQsG9)zA}aTQ9uv36lv&m_aUj6Fs;nJs>1hr96f1AG;#T!= zHtnYYcjLt$$&qEcfjxH5ILIyS8N9LXjt-jNWE;C zBjGL`Z}+uawE_j4l9}7)-A&}b1*1~$R%ubU(UPtcFK18ZIq5K{5ig>&M3CF=n#&$f fj38mQ0>Dhz(^Ee;=x&Gphyj*n)~3ZKP7(hGpn>S3 literal 0 HcmV?d00001 diff --git a/docs/2020/02/cgspace-stats-years.png b/docs/2020/02/cgspace-stats-years.png new file mode 100644 index 0000000000000000000000000000000000000000..3216d4a4e5828096bf440329bafd442d77d169cf GIT binary patch literal 4125 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 literal 0 HcmV?d00001 diff --git a/docs/sitemap.xml b/docs/sitemap.xml index 773560b7f..a09ebc430 100644 --- a/docs/sitemap.xml +++ b/docs/sitemap.xml @@ -4,27 +4,27 @@ https://alanorth.github.io/cgspace-notes/categories/ - 2020-02-23T09:16:50+02:00 + 2020-02-24T18:07:35+02:00 https://alanorth.github.io/cgspace-notes/ - 2020-02-23T09:16:50+02:00 + 2020-02-24T18:07:35+02:00 https://alanorth.github.io/cgspace-notes/2020-02/ - 2020-02-23T09:16:50+02:00 + 2020-02-24T14:11:56+02:00 https://alanorth.github.io/cgspace-notes/categories/notes/ - 2020-02-23T09:16:50+02:00 + 2020-02-24T18:07:35+02:00 https://alanorth.github.io/cgspace-notes/posts/ - 2020-02-23T09:16:50+02:00 + 2020-02-24T18:07:35+02:00 @@ -84,7 +84,7 @@ https://alanorth.github.io/cgspace-notes/2019-05/ - 2019-10-28T13:39:25+02:00 + 2020-02-24T18:07:35+02:00 @@ -119,7 +119,7 @@ https://alanorth.github.io/cgspace-notes/2018-10/ - 2019-10-28T13:39:25+02:00 + 2020-02-23T20:10:47+02:00