> I noticed that using observer,when primary database goes down, automatic switchover takes place.
That is the point of the observer. Watch the system. If the primary goes down, automatically perform a failover. (Note: if the primary is down, you cannot do a "switchover", only a "failover").
> where is the best place where I can run the observer, is it on primary or secondary site
To me, there is no "best place" because all have their pros and cons. If you put it on the primary site, this is good, but what happens when the entire site is down (i.e. a power outage)? There will be no mechanism for an automated failover to the standby. If you put it on the secondary site, then network disruptions between the two sites will cause the standby to be converted to a primary. That being said, I often put this on the primary site.