Sunday, March 19, 2017

Reset Skype for Business Statistics Manager (StatsMan) history

Scenario

You have a brand new or existing deployment of Skype for Business Statistics Manager. Your graph shows some weird old statistics (few days/weeks ago) as well as recent statistics (by default: 24 hours old) in a single chart.



Cause
Don't know yet. Could be related to Open Source of Redis in-memory caching system.

Solution

Reset statistics completely (--age:0) or to 24 hours old.
1. Run as Administrator "cmd" on server where SfB Statistics Manager Listener is installed:
2. Run either:

>"C:\Program Files\Skype for Business Server StatsMan Listener\PerfAgentStorageManager.exe" --redis:localhost --action:cleanup --age:0

or

>"C:\Program Files\Skype for Business Server StatsMan Listener\PerfAgentStorageManager.exe" --redis:localhost --action:cleanup --age:24

Using age: 1.00:00:00
FillNameCacheAsync of 6,889 counters took 180ms
GetLastWriteTimesAsync of 6,889 counters took 56ms
Scanned through 7,389 redis keys in 79ms and found 36 that should be deleted.
36 counters, 0 hosts, 36 storage keys, haven't been written to in 6.00:00:00
Do you want to remove the above hosts,36 counters and 36 storage keys? Y|[N]:y
Removed: 36 keys in 29ms
BulkDereferenceCounters: Attempting to dereference 36 storage keys
BulkDereferenceCounters: Deleted 36 last write time entries in 10ms
BulkDereferenceCounters: Removed 36 storage key entries from set in 1ms

Deleted 0 server infos.

I got normal graph after clearing history.



More information 
about PerfAgentStorageManager.exe /?

  --action<:action>

    updateServerInfo : Need --redis : Must provide --file or (--hostname and one or more --population options), --file should be in the format of getServerInfo output
                     : optional --noPrompt (will automatically do it without asking)
                     : optional --disableUpdate (will do adds only)
                     : optional --debug will show extra output
                     : The following shard scheme docs are only for multi-azure storage account setups:
                     : optional --shardScheme=none (to disable updating shard assignement for new servers)
                     : optional --shardScheme=<scheme>
                     :          <scheme> is one or more population matches separated by comma.
                     :          The default is Pool_,Site_ and it is recommended to not change this.
                     :          This will look at each new server's populations and try to match (start with) with a
                     :          scheme component then it will assign to that populations shard if it exists.
                     :          So for the default scheme it will look for the servers Pool shard, if that doesn't exist
                     :          then it will look for the servers Site shard, if that doesn't exist it will just stay as
 default

    getServerInfo : Need --redis : optional --uri for the location to upload to, Default is redishash:///_ServerInfo
                  : optional --file will output the xml for edit
                  : optional --mode=command will output the information with the command line options for PerfAgentStorageManager
                  : optional one or more --population will get only the servers in one of those populations

    getRedirectCandidates : Need --redis, default is to find populations with a single server where the name of the server is the last part of the population
                  : optional --mode=<current>, current will retrieve the current list of configured redirected populations
                  : optional --file=filename.csv will output a file that can be used with --action=updateRedirectCandidates
                  : example: Pool_mySEserverFE01 server=mySEServerFE01

    updateRedirectCandidates : Need --redis --file is a csv with Population,Server

    getShardInfo : Need --redis.
                : Optional: One or more modes
                : --mode=verbose to output every assignment
                : --mode=password to see the configured password (careful!)
                : --mode=history to see the history of all shard assignments (assumes --mode=verbose)

    updateShardAssignments : Need --redis and one or more --population or a single --hostname and --mode=specific or --mode=population and --value
                : --value=# the number of the shard to assign them to
                : mode=specific means assign that population or host to the shard
                : mode=population means assign the population(s) to the shard and all of the servers in all populations given
                : mode=correction (be careful with this) means update any shard assignement that matches -value=shardid and -match=tableID (see -a=getshardinfo -verbose)
                : this is used when a mistake in timing was made and the shard assignement hasn't been used yet and this will update to the next
                :if you get this wrong and use it on something that is in use, the data will be missing
and not easily recovered
                : The assignment won't switch until the next 12 hour period. Be careful that you assign far enough from daily 12 hour boundaries
                : Optional: if in --mode=population you can also add a --match=<population match> to also add any population to the shard for servers
                : in the given population. For example: --mode=population --population=Site_Blah --match=Pool_ this will add any Pool in has servers in that
                : site. It will ask you for each one unless you have --noPrompt

    updateAzureShard : Need --redis and --value=<shard ID> --azure=<accountName> --azurePassword=<azure key> --thumbprint=<password decryption certificate thumbprint>
                 : Optional --noPrompt to not prompt, you can add a --new to fail if expect it to be a new account (it will fail if the account or shard ID exists)

    validateSharding : Need --redis and --azure=<accountName> --azurePassword=<azure key> (for the default account)
                 : Optional --noPrompt will not prompt for keys to check but you'll need to provide --value=<hostname or population name or all>

    getRedirectedCounters : Need --redis

    deleteServerInfo : Need --redis and --file or one or more --hostname entries : File contains names of servers (one p
er line). optional --uri for the key to upload to, Default is redishash:///_ServerInfo (only redishash uri supported)

    checkServerInfo : Need --redis and --file or one or more --hostname entries : File contains names of servers (one pe
r line).

    cleanup : Need --redis, this will cleanup all hosts, populations and counters that haven't been written to in the given age time
            : Optional --age=<hours> (default 24)
            : Optional --match=<regex> to only match certain hosts/populations
            : Optional --notmatch=<regex> to exclude certain hosts/populations

    listKeys : Need --redis optional --file and --match and --key (key will make this a hash key list) --includeValues will show the value of the hash keys as well

    deleteKeys : Need --redis and --match  optional --notMatch, optional: --count=<batchSize> default=1000

    listHostIds : Need --redis and --match  optional --notMatch

    backupIdentifiers : Need --redis and --file, optional: --mode=overwrite

    subscribe : Need --redis and --counter

    listCounterStorageNames : Need --redis optional --file and --match and --notMatch

    listBuckets : Need --redis optional --match and --notMatch, optional --mode=<counters>, counters mode will try to distill down to the list of perf counters polled

    readListValues : Need --redis and --key optional --count

    deleteHashKeys : Need --redis and --key optional --match and --count (this will decide batch size), you will be prompted

    lookupStorageName: Need --redis and one or more --counter and/or --bucket this will lookup the counter or bucket storage names, optional: --mode=redirected

    findBadServers: Need --redis and optional --bucket (it will by default use \\*\Memory\% Memory Free_Maximum\@ bucket)

    getCounterValues : Need --redis and --counter : Optional --file=<csv output file path>

    getCounterValuesRange : Need --redis and --azure. Optionally need --counter (default is memory max) --startTime and --endTime (both in local time), defaults 24 hours ago and now

    counterLastWriteTimes: Need --redis optional --age=<seconds> will only print counters older than this, optional --count will limit the output, optional --mode=host will output the hosts and their youngest value age

    getBucketValues : Need --redis and optional --bucket (default will be \\*\Memory\% Memory Free_Maximum\@), optional --count will limit the output

    getBucketDueTimes: Need --redis optional --key default is _BucketDueTime

    getStats: Shows info about number of counters/buckets/etc. Need --redis

    listAggLocks: Need --redis. Shows which server owns which agg lock for buckets.

    setting: Need --redis and --setting=SettingName and --value=[true|false|int32#]. Updates/gets.

  --setting<:setting>
    all: retrieves all of the current values
    aggregation: optional --value=[true|false] (if not given it gets the current value)
    redirectedAggregations: optional --value=[true|false] (if not given it gets the current value)
    persistentStore: optional --value=[true|false] (if not given it gets the current value)
    rediscounterStore: optional --value=[true|false] (if not given it gets the current value)
    bucketManagerMaxConcurrency: optional --value=int32# (if not given it gets the current value)

  --value<:value>  Some actions require a 'value' parameter.
  --redis<:redis>  Set the redis server configuration
  --redisDatabase<:redisDatabase>  Set the redis database number. Default: 0
  --redisPassword<:redisPassword>  Optional redis password. Otherwise it will be looked up from the config.
  --azure<:azure>  Set the azure storage account name
  --azurePassword<:azurePassword>  Optional azure storage password. Otherwise it will be looked up from the config.
  --startTime<:startTime>  Some actions take a startTime arg.
  --endTime<:endTime>  Some actions take a endTime arg.
  --file<:file>  Some actions take a file arg.
  --hostname<:hostname>  Some actions take a hostname arg.
  --population<:population>  Some actions take a population arg.
  --match<:match>  Some actions uses a pattern or match.
  --notMatch<:notMatch>  Some actions uses a pattern or match to exclude.
  --new  Some actions are being tested with a 'new' mode.
  --disableUpdate  Some actions need a way to disable updates (and do adds only).
  --counter<:counter>  Some actions take a counter arg.
  --bucket<:bucket>  Some actions take a bucket arg.
  --shardScheme<:shardScheme>  Some actions take a shard scheme.
  --age<:age>  Some actions take an age arg. In seconds.
  --noPrompt  Some actions prompt to continue, this will answer affirmative to any prompt.
  --count<:count>  Some actions can take a count
  --includeValues  Some actions have an option to show the values.
  --key<:key>  Some actions need a key arg.
  --mode<:mode>  Some actions take a mode arg (often optional).
  --thumbprint<:thumbprint>  Some actions need a certificate thumbprint arg.
  --debug[:debug]  This will enable debugging output.
  --uri<:uri>  Some actions need a uri arg.
  --help  Print this help and exit.

82 comments:

  1. In the event that you have the accreditation it will be certainly simpler to look for a vocation as a task or program chief.ExcelR PMP Certification

    ReplyDelete
  2. I've been looking for info on this topic for a while. I'm happy this one is so great. Keep up the excellent work
    ExcelR pmp certification

    ReplyDelete
  3. Attend The Analytics Course in Bangalore From ExcelR. Practical Analytics Course in Bangalore Sessions With Assured Placement Support From Experienced Faculty. ExcelR Offers The Analytics Course in Bangalore.
    ExcelR Analytics Course in Bangalore

    ReplyDelete
  4. Excellent Blog! I would like to thank for the efforts you have made in writing this post. I am hoping the same best work from you in the future as well. I wanted to thank you for this websites! Thanks for sharing. Great websites!
    ExcelR data science course in mumbai

    ReplyDelete
  5. After being in the business for quite a long time, Alamo car rental knows exactly what their customers need. You will never go wrong with car rental corporate discounts, for sure. Sent by your employer on a business trip? 출장서비스

    ReplyDelete
  6. An essential hotspot for the gathering of spectators that makes the peruser walk by step.
    Microsoft project alternative

    ReplyDelete
  7. Nice post. I learn something totally new and challenging on blogs I stumbleupon everyday. It will always be helpful to read content from other writers and practice a little something from their sites. onsite mobile repair bangalore I blog often and I really appreciate your information. This article has really peaked my interest. I'm going to bookmark your website and keep checking for new information about once a week. I opted in for your RSS feed as well.
    asus display repair bangalore Pretty! This was an extremely wonderful article. Thanks for supplying this info. huawei display repair bangalore

    ReplyDelete
  8. Having read this I thought it was very enlightening. I appreciate you taking the time and effort to put this content together. I once again find myself spending way too much time both reading and commenting. But so what, it was still worthwhile! online laptop repair center bangalore Hello there! I could have sworn I’ve visited this web site before but after going through many of the posts I realized it’s new to me. Regardless, I’m definitely happy I stumbled upon it and I’ll be book-marking it and checking back often! dell repair center bangalore

    ReplyDelete
  9. Your style is very unique in comparison to other folks I have read stuff from. Many thanks for posting when you have the opportunity, Guess I will just bookmark this blog. macbook repair center bangalore I was able to find good info from your blog posts. acer repair center bangalore

    ReplyDelete
  10. Thanks. I have been strugling with this issue for a while.

    ReplyDelete
  11. Really awesome blog!!! I finally found a great post here.I really enjoyed reading this article. Nice article on data science . Thanks for sharing your innovative ideas to our vision. Your writing style is simply awesome with useful information. Very informative, Excellent work! I will get back here.
    Data Science Course
    Data Science Course Training in Bangalore

    ReplyDelete
  12. wonderful article. Very interesting to read this article.I would like to thank you for the efforts you had made for writing this awesome article. This article resolved my all queries.
    Data Science Course

    ReplyDelete
  13. Such a very useful article. Very interesting to read this article.I would like to thank you for the efforts you had made for writing this awesome article.
    Data Science Certification in Bangalore

    ReplyDelete
  14. No doubt this is an excellent post I got a lot of knowledge after reading good luck. Theme of blog is excellent there is almost everything to read, Brilliant post. buy likes ig

    ReplyDelete
  15. Great post i must say and thanks for the information. Education is definitely a sticky subject. However, is still among the leading topics of our time. I appreciate your post and look forward to more.

    Simple Linear Regression

    Correlation vs Covariance

    ReplyDelete
  16. Very nice blog and articles. I am realy very happy to visit your blog. Now I am found which I actually want. I check your blog everyday and try to learn something from your blog. Thank you and waiting for your new post.
    Data Science Course in Bangalore

    ReplyDelete
  17. Very informative post ! There is a lot of information here that can help any business get started with a successful social networking campaign !
    Data Science Training in Bangalore

    ReplyDelete
  18. Very interesting to read this article.I would like to thank you for the efforts you had made for writing this awesome article. This article inspired me to read more. keep it up.
    Correlation vs Covariance
    Simple linear regression

    ReplyDelete
  19. This post is very simple to read and appreciate without leaving any details out. Great work!
    pmp training

    ReplyDelete
  20. I have only 1 day of history on charts!! How to extend this history, or I am facing an issue.

    ReplyDelete
  21. I will really appreciate the writer's choice for choosing this excellent article appropriate to my matter.Here is deep description about the article matter which helped me more.
    PMP Certification Pune
    You completely match our expectation and the variety of our information.

    ReplyDelete
  22. Excellent Blog! I would like to thank for the efforts you have made in writing this post. I am hoping the same best work from you in the future as well. I wanted to thank you for this websites! Thanks for sharing. Great websites! data science training in coimbatore

    ReplyDelete
  23. cool stuff you have and you keep overhaul every one of us

    data science interview questions

    ReplyDelete
  24. Very interesting to read this article.I would like to thank you for the efforts you had made for writing this awesome article. This article inspired me to read more. keep it up.
    Correlation vs Covariance
    Simple linear regression
    data science interview questions

    ReplyDelete
  25. Really nice and interesting post. I was looking for this kind of information and enjoyed reading this one. Keep posting. Thanks for sharing.
    visit us

    ReplyDelete
  26. Attend The Data Science Courses From ExcelR. Practical Data Science Courses Sessions With Assured Placement Support From Experienced Faculty. ExcelR Offers The Data Science Courses. data science courses

    ReplyDelete
  27. This is my first visit to this place and I found so many interesting things in your blog, particularly the discussion, thank you.https://360digitmg.com/course/certification-program-in-data-science

    ReplyDelete
  28. Really impressed! Everything is very open and very clear clarification of issues. It contains truly facts. Your website is very valuable. Thanks for sharing.
    https://360digitmg.com/digital-marketing-training-in-hyderabad

    ReplyDelete
  29. Great blog found to be well written in a simple manner that everyone will understand and gain the enough knowledge from your blog being more informative is an added advantage for the users who are going through it. Once again nice blog keep it up.

    360DigiTMG Ethical Hacking Course

    ReplyDelete
  30. Really one of the very best article and impressed by the writing, great work.
    Data Analytics Certification Training

    ReplyDelete
  31. This post is incredibly simple to examine and recognize without disregarding any nuances. Inconceivable work!
    data science courses in delhi

    ReplyDelete
  32. This is a wonderful article, Given so much info in it, These type of articles keeps the users interest in the website, and keep on sharing more ... good luck.

    Simple Linear Regression

    Correlation vs Covariance

    ReplyDelete
  33. Very nice blogs!!! i have to learning for lot of information for this sites…Sharing for wonderful information.Thanks for sharing this valuable information to our vision. You have posted a trust worthy blog keep sharing, data scientist courses

    ReplyDelete
  34. Thank you very much for this useful article. I like it. ExcelR PMP Certification

    ReplyDelete
  35. Amazing Article ! I would like to thank you for the efforts you had made for writing this awesome article. This article inspired me to read more. keep it up.
    Simple Linear Regression
    Correlation vs covariance
    data science interview questions
    KNN Algorithm
    Logistic Regression explained

    ReplyDelete
  36. Really nice and interesting post. I was looking for this kind of information and enjoyed reading this one. Keep posting. Thanks for sharing.

    Simple Linear Regression

    Correlation vs covariance

    KNN Algorithm

    Logistic Regression explained

    ReplyDelete
  37. Really nice and interesting post. I was looking for this kind of information and enjoyed reading this one. Keep posting. Thanks for sharing.Best data science courses in hyerabad

    ReplyDelete
  38. This is a wonderful article, Given so much info in it, These type of articles keeps the users interest in the website, and keep on sharing more ... good luck.

    data science interview questions

    ReplyDelete
  39. very well explained. I would like to thank you for the efforts you had made for writing this awesome article. This article inspired me to read more. keep it up.
    Correlation vs Covariance
    Simple Linear Regression
    data science interview questions
    KNN Algorithm
    Logistic Regression explained

    ReplyDelete

  40. Fantastic article I ought to say and thanks to the info. Instruction is absolutely a sticky topic. But remains one of the top issues of the time. I love your article and look forward to more.
    Data Science Training Institute in Bangalore

    ReplyDelete
  41. This Is a Fantastic article, signifying so much information on it, These Kind of posts keeps the users attention from the Site, and continue sharing more... good luck
    Data Science Course In Bangalore With Placement

    ReplyDelete
  42. Really nice and interesting post. I was looking for this kind of information and enjoyed reading this one. Keep posting. Thanks for sharing.

    Simple Linear Regression

    Correlation vs Covariance

    ReplyDelete
  43. They're produced by the very best degree developers who will be distinguished for your polo dress creating. You'll find polo Ron Lauren inside exclusive array which include particular classes for men, women. PMP Certification Pune
    Well we really like to visit this site, many useful information we can get here.
    I am always searching online for articles that can help me. There is obviously a lot to know about this. I think you made some good points in Features also. Keep working, great job !

    ReplyDelete
  44. very well explained .I would like to thank you for the efforts you had made for writing this awesome article. This article inspired me to read more. keep it up.
    Simple Linear Regression
    Correlation vs covariance
    data science interview questions
    KNN Algorithm
    Logistic Regression explained

    ReplyDelete
  45. Attend The Business Analytics Courses From ExcelR. Practical Business Analytics Courses Sessions With Assured Placement Support From Experienced Faculty. ExcelR Offers The Data Analytics Courses. data science course in Hyderabad

    ReplyDelete
  46. Today, you can find a lot of educational institutes that offer training programs for pros who want to gain expertise in the field data science course in india

    ReplyDelete

  47. PMP Certification with placement was never so easy and adaptable to everyone but here at ExcelR We teach you numerous ways of doing PMP Courses, which are way easy and interesting. Our experienced and expert faculty will help you reach your goal. 100% result oriented strategies are being performed; we offer PMP Certification Course in pune

    PMP Certification

    ReplyDelete
  48. I've read this post and if I could I desire to suggest you some interesting things or suggestions. Perhaps you could write next articles referring to this article. I want to read more things about it!
    Data Science courses

    ReplyDelete
  49. I learn some new stuff from it too, thanks for sharing your information.men's 3 piece suits

    ReplyDelete
  50. Fantastic blog with excellent information and valuable content just added your blog to my bookmarking sites thank for sharing.
    Data Science Course in Chennai

    ReplyDelete
  51. Thanks for posting the best information and the blog is very helpful.Data science course in Faridabad

    ReplyDelete
  52. It is perfect time to make some plans for the future and it is time to be happy. I've read this post and if I could I desire to suggest you some interesting things or suggestions. Perhaps you could write next articles referring to this article. I want to read more things about it!
    data scientist training and placement in hyderabad

    ReplyDelete
  53. Thanks for posting the best information and the blog is very helpful.data science interview questions and answers

    ReplyDelete
  54. Truly mind blowing blog went amazed with the subject they have developed the content. These kind of posts really helpful to gain the knowledge of unknown things which surely triggers to motivate and learn the new innovative contents. Hope you deliver the similar successive contents forthcoming as well.

    data science in bangalore

    ReplyDelete
  55. I want to leave a little comment to support and wish you the best of luck.we wish you the best of luck in all your blogging enedevors.
    data science in bangalore

    ReplyDelete
  56. Fantastic blog extremely good well enjoyed with the incredible informative content which surely activates the learners to gain the enough knowledge. Which in turn makes the readers to explore themselves and involve deeply in to the subject. Wish you to dispatch the similar content successively in future as well.

    data science training in bhilai

    ReplyDelete
  57. Highly appreciable regarding the uniqueness of the content. This perhaps makes the readers feels excited to get stick to the subject. Certainly, the learners would thank the blogger to come up with the innovative content which keeps the readers to be up to date to stand by the competition. Once again nice blog keep it up and keep sharing the content as always.

    Data Science Course in Bhilai

    ReplyDelete
  58. Wonderful blog found to be very impressive to come across such an awesome blog. I should really appreciate the blogger for the efforts they have put in to develop such an amazing content for all the curious readers who are very keen of being updated across every corner. Ultimately, this is an awesome experience for the readers. Anyways, thanks a lot and keep sharing the content in future too.

    data science institute in bangalore

    ReplyDelete
  59. My friend mentioned to me your blog, so I thought I’d read it for myself. Very interesting insights, will be back for more!
    data scientist training and placement in hyderabad

    ReplyDelete
  60. I want to leave a little comment to support and wish you the best of luck.we wish you the best of luck in all your blogging enedevors.
    data science training in chennai

    ReplyDelete
  61. This is also a very good post which I really enjoyed reading. It is not every day that I have the possibility to see something like this..
    data science certification

    ReplyDelete
  62. I really enjoyed this blog. It's an informative topic. It helps me very much to solve some problems. Its opportunities are so fantastic and the working style so speedy.
    data scientist training and placement in hyderabad

    ReplyDelete
  63. i am glad to discover this page : i have to thank you for the time i spent on this especially great reading !! i really liked each part and also bookmarked you for new information on your site.
    artificial intelligence training in chennai

    ReplyDelete
  64. Thanks for posting the best information and the blog is very important.digital marketing institute in hyderabad

    ReplyDelete
  65. Thanks for posting the best information and the blog is very important.artificial intelligence course in hyderabad

    ReplyDelete
  66. I want to leave a little comment to support and wish you the best of luck.we wish you the best of luck in all your blogging enedevors.
    business analytics courses

    ReplyDelete
  67. Thanks for posting the best information and the blog is very good.data science institutes in hyderabad

    ReplyDelete
  68. I was actually browsing the internet for certain information, accidentally came across your blog found it to be very impressive. I am elated to go with the information you have provided on this blog, eventually, it helps the readers whoever goes through this blog. Hoping you continue the spirit to inspire the readers and amaze them with your fabulous content.

    Data Science Course in Faridabad

    ReplyDelete
  69. Great to become visiting your weblog once more, it has been a very long time for me. Pleasantly this article i've been sat tight fosuch a long time. I will require this post to add up to my task in the school, and it has identical subject along with your review. Much appreciated, great offer. data science course in nagpur

    ReplyDelete
  70. Extremely overall quite fascinating post. I was searching for this sort of data and delighted in perusing this one. Continue posting. A debt of gratitude is in order for sharing. data analytics course in delhi

    ReplyDelete
  71. Extremely overall quite fascinating post. I was searching for this sort of data and delighted in perusing this one. Continue posting. A debt of gratitude is in order for sharing. cloud computing course in nagpur

    ReplyDelete
  72. Extremely overall quite fascinating post. I was searching for this sort of data and delighted in perusing this one. Continue posting. A debt of gratitude is in order for sharing.cloud computing course in lucknow

    ReplyDelete
  73. Really nice and interesting post. I was looking for this kind of information and enjoyed reading this one. Keep posting. Thanks for sharing. artificial intelligence course in patna

    ReplyDelete
  74. Thanks for posting the best information and the blog is very good.data science in kolkata

    ReplyDelete
  75. Thanks for posting the best information and the blog is very good. business analytics course in kolkata

    ReplyDelete
  76. Thanks for posting the best information and the blog is very good. ethical hacking training in kolkata

    ReplyDelete
  77. Thanks for posting the best information and the blog is very good.data science course in ahmedabad

    ReplyDelete
  78. Thanks for posting the best information and the blog is very good.data science course in ahmedabad

    ReplyDelete
  79. Thanks for posting the best information and the blog is very good.cloud computing course in ahmedabad

    ReplyDelete