The Importance of Writing and Sharing Memories

Tonight we had an enjoyable dinner with Elaine, my step grandmother (on my mom’s side of the family). As we dropped her off at her place, Elaine shared some of her memoirs with us. As part of her foreword, she eloquently describes that these are her memories (whether accurate, they are what she remembers), and her writings are not meant as a history nor to include absolutely everyone nor everything; “that a full telling of my life would likely be quite boring.” The two chapters we got to hear, narrated live by the author, are far from boring – her writing is engaging, and her portrayal of her stories evoke emotion and a desire to keep reading. You will read these stories attentively, you will marvel, contemplate, cry, marvel, then cry again. 😂

Elaine wants to share her stories with the world, and I agree – she should. Whether this happens in print, audio, blog, or in other forms, I’ll be glad to read more, and to help her share her well crafted heart-felt collection of memories. Personally I think her narration adds a special flavor and personalization to her memories – audio book time, Elaine!

Elaine also writes about the importance of sharing our memories – things which our family and those close to us may never know, if they are never recorded. Rather than be concerned with the completeness or chronology or perfection of your writing, “just write…” She even dedicates a few pages at the back of her book, as a space to get started writing – these pages contain funny and supportive sayings along the way like “just get started,” “see, you made it this far,” and “see you’ve done it, now get a notebook and keep writing your memories…”

I’m so glad I got to have this experience, plus it’s a great reminder of the value of writing – to my own processes and perspectives, and to others. It’s easy to think my writing ay be boring, instead of awesome. Writing thoughts and memories, with no particular end in mind, is of great value – somehow I had forgotten that. Thanks for the great reminder, Elaine.

This also reminds me that I have recordings from two interview sessions with my grandmother (on my dad’s side of the family) – we are blessed to be able to continue adding to those, if we can convince or trick her into participating.

Have you, written lately. . .?

Posted in Sharing Your GOodness | Tagged , | 2 Comments

AudioMo as an Experiment for Podcasting

This year I participated in my first “AudioMo” – an online challenge to record something every day during the month of June. Record what, exactly? What ever strikes your fancy – it’s like what folks post to Facebook or Twitter – your mileage may vary. :)) I enjoyed hearing other AudioMoers (1), and getting to know 10-15 new people during the month. The #AudioMo hash tag brings people together around these recordings in a pretty cool way. I’m glad I completed the challenge – making a recording every day wasn’t always something I was in the mood for, but it was worth it.

You can check out my AudioMo recordings on my audioBoom page. As I get back into blogging here, I’ll link to recordings which I expand on in writing.

I treated my AudioMos like mini podcasts – rather than just talking about how many coffees I drank (2), or recorded the sound paint makes when dries, I discussed things which were both authentic and (hopefully) interesting to listeners. While I don’t have a clear idea for a podcast, nor a podcast co-host, my AudioMo experience does confirm that I would enjoy podcasting some day.

  1. Are AudioMoers sort of like lawn mowers…? LOL
  2. I don’t drink coffee, although I do love the smell of it. That was a humorous example of the sort of benign detail I sometimes see on social media.
Posted in Sharing Your GOodness | Tagged | Leave a comment

Getting Unsaved yet Open Text Edit Documents

It turns out you can get to OS X Text Edit documents which you have yet to save, but are still open – they are auto-saved in ~/Library/Containers/ Information as .rtf files. Why .rtf files, probably because Text Edit doesn’t know whether you may change your mind and switch that plain text document back to rich text.

This came in very handy, when I needed text which I worked on yesterday, which would be more difficult to reproduce today, which was still open (but unsaved) on a remote Mac with no screen. Don’t get hung up on the no screen part – I use VoiceOver, and someone needed to borrow a monitor so my Mac is headless for a while.

nvALT is my notes tool of choice, especially for making quick transient notes similar to 50 sticky-notes which end up sprouting from one’s monitor bevel like some over-grown bushy hair. I’ve configured nvALT to store it’s notes as individual text files, and since it automatically and immediately saves, I can SSH into my Mac and grab those files later when I realize I need them. So, I’m used to that; thinking about which documents you will need while you’re away from your desk is a thing of the past these days … unless you change your workflow.

Yesterday I unexplainably opened Text Edit, and proceeded to piece together some pretty useful information … which I would need today when working remotely. I’m glad to have been able to get to that information, without having to get into the office, or have someone find an adapter and connect a monitor and unlock my Mac just to save a document.🙂

Posted in Mac OSX | Tagged | Leave a comment

The New Safe

I can recall a lot of appreciation and praise during both my child and adult hood, for avoiding harm and minimizing risk. Everyone wants their investments and responsibilities to stay safe, whether we’re talking about one’s children, students, data, reputation, secrets, or money. I have built a lot of my career and decisions around these pillars.

Last night I listened to episode 3 of Charlie Gilkey’s The Creative Giant Show. Charlie starts off this podcast describing his hesitancy about releasing this show – I’m sure glad he did. Charlie and Seth Godin discuss a lot of great topics – here are some of them, and how they made a positive impact with me:

  • Making your own significant impact by picking yourself instead of waiting for someone else to pick you. This has prompted me to reflect on how I have allowed my progress, or gage of success, to be granted by others. In some ventures, I have been handicapping myself by giving some of my power away to other unwitting people, a lot of whom didn’t want this role anyhow.
  • Goals (reaching people with a message) vs. tactics (publishing a book). I have gotten so excited about working with a particular company, or on a certain project, or using a particular tool, that I lost sight of my larger desire within my tunnel vision. Sometimes this has turned into a lot of unnecessary mental and physical work – like proverbially going on an elaborate hunting trip just because you wanted to site-in a new rifle.
  • Letting out the genius which exists within all of us, and expressing our art. (this isn’t the ego form of “genius,” nor the super-literal form of “art).” This one is still a bit fuzzy to me, but it “speaks to me” none the less. My wife, one of my co-workers, and likely others, will hope that this means I will be playing piano more often.🙂
  • Follow, and focus on, the feeling we get before doing something great, vs. the feeling which accompanies shipping something not-so-great. I do often know the difference between these two feelings, but I frequently allow my certainty to be clouded by fear and the input of others.
  • Give yourself 24 hours and then ship something – get in the habit of shipping something every day, that’s a habit you’ll be glad you have. IN fact, this blog post is something I’ve pushed to ship – ideas which I am not 100% comfortable with, and which are certainly far from complete, but still worth expressing.


This podcast episode has given me a burst of clarity. Circling back to the opening paragraph of my post, I will develop an even more frequent habit of shipping and taking action, and reminding myself that part of my definition of success includes a different definition of “safe” from that which I have been used to – the new “safe” is adaptable and agile and has 50 irons in the fire instead of only 4 piles in the ground. I love how Seth describes success as it relates to safety, in The Truth About Shipping: “Understand that the only thing between you and the success you seek in a chaotic world is a lizard that figures out that safe is risky and risky is safe. The paradox of our time is that the instincts that kept us safe in the day of the saber tooth tiger and General Motors are precisely the instincts that will turn us into road kill in a faster than fast internet-fueled era.”

Similarly to how  I have used results fromThe Passion Test to help me course-correct small and large life decisions to be aligned with my passions, my next step RE: what I have talked about here, is to create some helpful habit-forming reminders for myself.

Posted in Self-actualization | 1 Comment

Workaround for Keyboard Maestro no longer speaking text in Yosemite

I use Keyboard Maestro for automation, but also to help me quickly get information on my Mac. For example, I have hotkeys which speak the current time, and battery status.

When I upgraded my Mac to Yosemite I first dealt with the Keyboard Maestro Yosemite Accessibility workaround (accessibility in this case, referring to granting Keyboard Maestro permission to control one’s Mac).

Next, I noticed that my macros which spoke things, no longer worked. The Keyboard Maestro Frequently Asked Questions mentions this issue, and calling out to a shell script instead of Keyboard Maestro’s internal Speak Text action:

There is a bug in the NSSpeechSynthesizer that returns isPlaying as false immediately. This means the Speak Text Action in Keyboard Maestro finishes immediately, so the text is not spoken. As a workaround, you can set a variable named “Text to Speak” to the text you want, then you can use the Execute Shell Script action with the command: say “$KMVAR Text to_Speak”

Of course this works, and doesn’t require too much effort to write a wrapper script around the Mac OS X say command which uses my desired voice and speech rate, but I’d rather keep using the Keyboard Maestro provided Speak Text action, presuming that the NSSpeechSynthesizer / isPlaying bug will be fixed. I also didn’t really feel like editing my macros, then reverting them later – too much work in Keyboard Maestro’s UI can get a bit tedious using Apple VoiceOver.

It turns out that a workaround with less impact, is to follow the macro Speak Text action, with a Pause action which waits for at least the number of seconds you expect it will take to speak your text. I believe this works, because it causes the macro to continue running, while the text has a chance to be verbalized, since isPlaying is incorrectly returning false to Keyboard Maestro and presumably causing the macro to exit immediately.

Supporting the above “keep the macro running while text is spoken” theory: I have a macro which speaks some status text, and then rsyncs data to a USB stick – since that macro takes a few seconds to run my rsync script, my “starting to copy…” text is spoken.

For more information on the Speak Text and Pause Keyboard Maestro actions, see the Keyboard Maestro Actions page.

Now, when this bug is resolved, I can just remove the Pause action from macros,.

Posted in Automation | Tagged , | Leave a comment

Unified Mac and Fusion VM hostnames with Dnsmasq

I have virtual machines in VMware Fusion which need to find one-another by hostname, such as Puppet clients talking to a Puppet master. The VMware Fusion DNS forwarder will resolve names in my Mac’s /etc/hosts file for my VMs, but the lookup returns an extra CName record, and then multiple NXDOMAIN responses because additional unnecessary lookups are performed.

[root@vm etc]# host -v web1.fetch.
Trying "web1.fetch"
;; ->>HEADER<
[root@vm etc]# ping -c1 web1.fetch.
PING web1.fetch ( 56(84) bytes of data.
64 bytes from icmp_seq=1 ttl=64 time=0.025 ms

--- web1.fetch ping statistics ---
1 packets transmitted, 1 received, 0% packet loss, time 2ms
rtt min/avg/max/mdev = 0.025/0.025/0.025/0.000 ms

While the above technically works; I can ping web1 by name, it bugs me. Why the extra CName, even when I lookup a fully qualified hostname with a trailing period? Why the extra lookups for the same name, which fail (NXDOMAIN) even when my VM’s resolver is not configured with any search domains? If anyone knows the answers to the above, please enlighten me.

A proper DNS server which both my Mac and VMs can use seems like a good idea – here are my requirements:

  • I can resolve my local DNS from both my Mac and my VMs, without having to rely on a particular VM being started. This means the solution should run on my Mac.
  • The DNS server is only consulted by my Mac, when looking up hostnames in my private domain / DNS zone, otherwise I want the normal name resolution to be used. This allows me to leverage DHCP-provided DNS servers to resolve hostnames on networks I visit.
  • What ever I run should be light weight – I don’t want to have to remember to stop and start something when I am working with my VMs, nor run Bind, when I only need this local DNS 30-40% of the time.

I chose Dnsmasq because it is lightweight, designed for small networks, and gives me the option to provide more customizable DHCP, and network boot, in private Fusion networks in the future. I will use the OSX DNS resolver’s /etc/resolver/* syntax, to point a private DNS domain at Dnsmasq, while leaving DNS lookups for everything else untouched. I can add private DNS entries to the /etc/hosts file on my Mac (which Dnsmasq reads by default), or put Dnsmasq DNS entries in a separate file.

The only down-side is that I have to configure a static DNS server on my VMs, but my VMs use static IP addresses anyway. If I wanted DHCP to configure VMs to use Dnsmasq instead of Fusion’s DNS forwarder, I could either hack the Fusion DHCP server, or disable the Fusion DHCP service and use Dnsmasq to provide DHCP on Fusion’s private subnets.

Install Dnsmasq

I used Homebrew – The missing package manager for OS x to install Dnsmasq. Homebrew installs software into it’s own directory, helping to avoid a package’s installation spewing files throughout your Mac.

Install Dhsmasq using the brew install dnsmasq command.

After Dnsmasq is installed, Homebrew presents you with some commands to run in order to add dnsmasq to the OSX launched, agent and daemon manager – in other words, to have OSX start Dnsmasq at boot. IF you miss these commands, you can re-display this information by running brew info dnsmasq. You should use the commands which Homebrew tells you to run at your time of installation, but here is what was displayed to me:

To configure dnsmasq, copy the example configuration to /usr/local/etc/dnsmasq.conf
and edit to taste.

  cp /usr/local/opt/dnsmasq/dnsmasq.conf.example /usr/local/etc/dnsmasq.conf

To have launchd start dnsmasq at startup:
    sudo cp -fv /usr/local/opt/dnsmasq/*.plist /Library/LaunchDaemons
Then to load dnsmasq now:
    sudo launchctl load /Library/LaunchDaemons/homebrew.mxcl.dnsmasq.plist

After running the commands Homebrew tells you to, you will have a running Dnsmasq server – you can verify it is running and query it:

ifetch@mac:~$ host localhost
Using domain server:
Name: localhost
Address: ::1#53
Aliases: has address has address
..... and so on .....

Choosing a Private Domain

I use a top-level domain of “fetch” which means my hosts will be puppet.fetch, web1.fetch, Etc. Obviously .fetch is not a real top-level domain (TLD), but is alright for local use, only on my Mac. Note that if I were using this domain on a private network, beyond only my Mac, I would more closely follow the guidelines below.

The best practice when picking a private domain, is to use a sub-domain of a domain which you already have registered (like, or to use a domain under one of the reserved top-level domains in RFC 2606.

  • Choose an internal domain name which will not be used on the Internet. In theory any top-level domain, like .fetch, could be used on the Internet in the future. The safest bet is to use a sub-domain under a domain which you have registered; control of.
  • RFC 2606 lists the top-level domains .test, .example, .invalid, and .localhost as reserved for testing. The domains,, and are also reserved, if you really lack originality and want to use one of those.

Using the above guidelines, any of these would be valid domains to put my hosts into:

  • – I own and control, so this is valid
  • test – using the top-level domain of test, so my hosts would be puppet.test, web1.test, Etc.

Configuring Dnsmasq

Edit /usr/local/etc/dnsmasq.conf as root – below are some minimal options to add.

The local= option tells Dnsmasq to not send queries for this domain to any upstream DNS servers. This option is not strictly necessary because Dnsmasq will serve any entries in my Mac’s /etc/hosts file, but to play it safe, we’ll avoid the potential of querying the Internet for my .fetch domain.

I don’t want Dnsmasq to listen on all of my Mac’s network interfaces. This can be controlled by either specifying an explicit list of interfaces to listen on, or specifying a list of interfaces to explicitly not be listen on. IF you often change your VMware Fusion network configuration, or add/remove networks, it may be more desirable to tell Dnsmasq which network interfaces you do not want it to listen on. I told Dnsmasq to not listen on my ethernet, wireless, and VPN interfaces using multiple occurrences of the except-interface= option.

Here is the configuration I’ve added to my dnsmasq.conf file:

# Queries for .fetch should never be sent to upstream nameservers.
# Listen on all interfaces except wired, wireless, and our VPN.

Other Interesting Options

Here are some other interesting Dnsmasq options you may want to look more into. Each of the bullets below lists multiple options, as they tend to be used in combination with one-another.




    to expand short; non-fully-qualified hostnames in /etc/hosts, into fully-qualified hostnames

  • no-hosts and addn-hosts which allow you to not use /etc/hosts, and use a different file to supply local hostnames
  • address to map an entire domain to a single IP address, similar to defining a wild-card DNS

Create Local DNS Entries

By default Dnsmasq will serve entries from the Mac’s /etc/hosts file. To store local DNS entries in a separate file, add these two options to the dnsmasq.conf configuration file:

# Do not read entries from /etc/hosts, and use a separate file instead.

Put your private DNS domain entries in /etc/hosts, or which ever file you chose to use. web1.fetch puppet.fetch puppetmaster.fetch

Restart Dnsmasq

Restart Dnsmasq, now that you have edited it’s configuration file.

The launched OSX service will restart Dnsmasq if it is stopped. Therefore, if you need to restart Dnsmasq after editing it’s configuration file, you can just kill Dnsmasq using sudo pkill dnsmasq and let launched restart it.

Alternatively, run sudo launchctl stop homebrew.mxcl.dnsmasq – this will stop Dnsmasq, and launched will promptly restart it. IF you forget the homebrew.mxcl.dnsmasq identifier, you can find it by running something like sudo launchctl list |grep -i dns

Stopping Dnsmasq All Together

IF you do not want Dnsmasq to be running for some reason, you can stop it with sudo launchctl unload /Library/LaunchDaemons/homebrew.mxcl.dnsmasq.plist. You can then start it again with sudo launchctl load /Library/LaunchDaemons/homebrew.mxcl.dnsmasq.plist. IF you unload the Dnsmasq service, then reboot your Mac, Dnsmasq will start at boot.

Point The OSX Resolver at Dnsmasq

The OSX DNS resolver will only consult Dnsmasq when a hostname in the .fetch domain needs to be looked up.

Create the /etc/resolver directory, and then create a resolver file named after your domain – in my case, fetch – pointing to Dnsmasq on

sudo mkdir /etc/resolver
sudo vi /etc/resolver/fetch

The contents of /etc/resolver/fetch should be:


The Mac will use Dnsmasq when ever I attempt to access a hostname within my private DNS domain, such as when using ping or a web browser. Using the nslookup or host command to lookup such a hostname will not work, because those commands are querying upstream DNS servers directly.

Point VMs at Dnsmasq

Configure the DNS resolver in virtual machines, to point to the IP address of the Mac in which ever network the VM is using. This is the .1 IP address in the subnet – for example, if a VM has an IP address of, configure the VM to use for DNS. For a VM running Linux, edit /etc/resolv.conf to look like:

domain fetch
search fetch

My Linux VMs happen to have a second NIC, in the host-only Fusion network, which I use to SSH to the VM from my Mac. This has an added benefit of giving me a fixed static IP address to point to for DNS, even if I have changed the VM’s first NIC between NAT and bridged Fusion networks. The two NIC approach may not be desirable for others though, and you may find that switching your VM’s NIC to another Fusion network, breaks the VM’s ability to talk to your internal DNS server.

Posted in DNS | Tagged , | Leave a comment

Configuring the VMA as a syslog server for ESXi

I wanted to use our VMware vSphere Management Assistant (vMA) as a syslog server for ESXi hosts. Central logging is a good thing, and since there is already a VMA in our environment, it may as well receive logs while it sits there.

Why use syslog / what are the alternatives?

  • Although you can define a datastore where ESXi will write it’s logs, I am not sure that datastore should be on the SAN. I still want logs to persist after ESXi reboots, whether or not I happen to have SAN connectivity.
  • IF there is a problem with an HBA or local disk controller being deadlocked, I would still like to see logs about it – syslog will give me those logs.
  • Logging to an existing central syslog server, or something like Splunk, is also an option, but using VMA is a simple and quick path to saving your logs, since you probably use the VMA already.
  • The VMA can be configured to collect logs from ESXi hosts, but I have never liked this – what if a host experiences problems, logs something interesting, but those logs weren’t “collected” before the host crashed or rebooted? Having ESXi send logs in real time, using syslog, will get me the most log data.

Here are the changes I made to VMware vSphere Management Assistant 5.0.0:

Add a disk to hold logs

The VMA disk is not that large, so ideally a second disk should be added to store the ESXi logs. Skipping this step is ok if you just want to experiment, but your VMA disk will fill up eventually, with only a Gb or so free on a typical VMA. Use the df -h /var/log command to see how much space is free on your VMA.

  • Shutdown the VMA, edit the VM’s settings, and add a second hard disk. I used a 10 Gb second disk.
  • Optionally snapshot the VMA, just in case. Remember to delete the snapshot when you are done.
  • Power on and log back into the VMA,. FOrmat and mount the disk under /var/log/esxi:
    • Run fdisk to partition the new disk: sudo fdisk /dev/sdb
    • Use the p command to verify that there is currently no partition on the disk (there is nothing under the columns at the bottom of the output).
    • Use the ncommand to create a new primary partition, number 1, using the default start and end cylinder values?
      Command (m for help): n
      Command action
         e   extended
         p   primary partition (1-4)
      Partition number (1-4): 1
      First cylinder (1-1305, default 1):
      Using default value 1
      Last cylinder, +cylinders or +size{K,M,G} (1-1305, default 1305):
      Using default value 1305
    • Use the p command to view the partition, then use the wcommand to write the changes to the disk:
      Command (m for help): p
      Disk /dev/sdb: 10.7 GB, 10737418240 bytes
      255 heads, 63 sectors/track, 1305 cylinders
      Units = cylinders of 16065 * 512 = 8225280 bytes
      Disk identifier: 0xc68e9f4d
         Device Boot      Start         End      Blocks   Id  System
      /dev/sdb1               1        1305    10482381   83  Linux
      Command (m for help): w
  • Format the new partition:
    mke2fs -j /dev/sdb1
  • Add a line to /etc/fstab, for mounting the partition:
    /dev/sdb1            /var/log/esxi                    ext3       defaults        1 2
  • Create the mount-point, and mount the filesystem:
    mkdir /var/log/esxi
    mount /var/log/esxi
    df -h /var/log/esxi

Configure syslog-ng

Add the following to /etc/syslog-ng/syslog-ng.conf, and then restart the syslog service:

# Collect syslog messages from ESXi hosts and store them in /var/log/esxi/
# Define a filter to exclude debug and info log levels.
# Otherwise, ESXi logs become verbose and are more difficult to use.
filter f_esxi { not level(debug,info); };
# Define a source for remote UDP port 514 syslogs.
# This line exists (commented out) earlier in this config file,
# it is shown here for completeness.
# Any remote logs are assumed to come from ESXi, since this is VMA after all.
source src_remote { udp(port(514)); };
# Put logs in an esxi directory, and name logs after the host name.
# Remember to mkdir /var/log/esxi
destination esxi_host_logs {
# THe use of a template allows reformatting of the log output.
# $TAG and $PRIORITY includes log facility and level for tuning / testing.
#   remove these from the template for production.
# Sample output from this template is:
# b4 warning Jul 21 13:55:15 esx1 vmkernel: 1:00:03:30.566 cpu0:255265)WARNING: UserLinux: 1638: UNIMPLEMENTED!  write-back of mmap regions unsupported
 template("$TAG $PRIORITY $S_DATE $HOST $MSG\n"));
# For logs to look like those stored on the ESXi host,
#  exclude the facility, level, and host name tags from the template:
# template("$S_DATE $MSG\n"));
# PUt it all together:
log { filter(f_esxi); source(src_remote); destination(esxi_host_logs); };

Remember to restart syslog-ng after editing the config file: sudo service syslog restart

The f_esxi filter leaves out debugging and info syslog messages, but ESXi logs are still pretty verbose. YOu may use additional syslog-ng configuration to remove particularly irritating log messages, but as soon as you remove those messages you may wish you had them for troubleshooting. Here is an example of some verbose messages that still show up in logs:

Jul 21 09:14:41 esx1 14:18 [issue_cmd           ]   07/21/12 15:14:18 [issue_cmd           ] --- ping statistics ---  07/21/12 15:14:18 [issue_cmd           ] 1 packets transmitted, 1 packets received, 0% packet loss  07/21/12 15:14:18 [issue_cmd           ] round-trip min/avg/max = 0.567/0.567/0.567 ms  07/21/12 15:14:18 [issue_cmd           ]   07/21/12 15:14:18 [myexit              ] VMwareresult=success  07/21/12 15:14:18 [elapsed_time        ] Total time for script to complete:  0 minute(s) and 0 second(s)

Yes, that is how the single log message looks – messy, but potentially useful if you think that network latency may have been causing ESXi to lose heartbeats, or trigger an isolation response./p>

Configuring logrotate

Create a configuration file in /etc/logrotate.d so that the new log files in /var/log/esxi will be rotated and compressed. I have placed this in /etc/logrotate.d/esxi – you may want to adjust the retention and other options. See the logrotate man page for more information on the keywords you can use in logrotate config files:

# Rotate ESXi logs, which we have configured syslog-ng to put in /var/log/esxi
# Rotation is weekly, compressing all but the latest rotated log.
# Five logs are kept.
/var/log/esxi/*.log {
        rotate 5
                /etc/init.d/syslog reload

This logrotate configuration will give you file names like this in /var/log/esxi:

  • esx1.log-20120708.bz2
  • esx1.log-20120715.bz2
  • esx1.log-20120722 (this is not compressed because it is the latest, rotated log. This is logrotate’s DelayCompress option.)
  • esx1.log (This is the current log.)

COnfiguring ESXi to log to the VMA

COnfigure ESXi hosts to send syslog messages to VMA, and verify that new files are created in /var/log/esxi for each host.

I configure ESXi to use a syslog server as part of a post-installation script, using this command. YOu can also run this from a tech support shell (local console or SSH):

vim-cmd hostsvc/advopt/update Syslog.Remote.Hostname string

You can also set this in the VMware client by clicking a host and then: Configuration -> Advanced Settings, expand Syslog in the tree, and enter the VMA’s IP address in the “Remote” field.

Posted in VMware vSphere | Tagged | Leave a comment